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ứ?