0

我想知道如何让初级类显示第二类的对象(保持第二类内部)?我正在使用 c#。

有点像包装纸。那是一件坏事?有人可以提供示例或链接吗?

谢谢...

4

1 回答 1

1

对此的简单模式是使用嵌套类,其属性可以公开您想要公开的内容。

public class MyClass
{
   private class SubClass
   {
      int someValue;
   }

   private SubClass innerClass = new SubClass();

   public int SubValue
   {
      get { return innerClass.someValue; }
      set { innerClass.someValue = value; }
   }
}

您可以通过使用internal 修饰符来扩展此模式以有效地拥有许多私有子类。内部对象本质上对同一程序集中的代码是公共的,而在其他任何地方都是私有的。将包装器标记为公开,每个子标记为内部。请注意,这需要将包装类和所有子类放在它们自己的单独项目(即程序集)中。您可以(并且应该)在新项目的自己的文件中定义每个类。

public class WrapperClass
{
   private SubClass1 internalClass1 = new internalClass1();
   private SubClass2 internalClass2 = new internalClass2();

   public int SubValue1
   {
      get { return internalClass1.someValue; }
      set { internalClass1.someValue = value; }
   }

   public int SubValue2
   {
      get { return internalClass2.someValue; }
      set { internalClass2.someValue = value; }
   }
}

internal class SubClass1
{
   int someValue;
}

internal class SubClass2
{
   int someValue;
}
于 2013-04-25T14:19:23.443 回答