Tôi tương đối mới với C # và mỗi lần tôi bắt đầu làm việc trên một dự án C # (tôi chỉ làm việc với các dự án gần như trưởng thành trong C #) Tôi tự hỏi tại sao không có lớp bên trong?
Có lẽ tôi không hiểu mục tiêu của họ. Đối với tôi, các lớp bên trong - ít nhất là các lớp bên trong riêng tư - trông rất giống "thủ tục bên trong" trong Pascal / Modula-2 / Ada: chúng cho phép chia nhỏ một lớp chính thành các phần nhỏ hơn để dễ hiểu.
Ví dụ: đây là những gì thường thấy:
public class ClassA
{
public MethodA()
{
<some code>
myObjectClassB.DoSomething(); // ClassB is only used by ClassA
<some code>
}
}
public class ClassB
{
public DoSomething()
{
}
}
Vì ClassB sẽ chỉ được sử dụng (ít nhất là trong một thời gian) bởi ClassA, tôi đoán rằng mã này sẽ được diễn đạt tốt hơn như sau:
public class ClassA
{
public MethodA()
{
<some code>
myObjectClassB.DoSomething(); // Class B is only usable by ClassA
<some code>
}
private class ClassB
{
public DoSomething()
{
}
}
}
Tôi rất vui khi nghe ý kiến của bạn về chủ đề này - Tôi nói đúng chứ?