0

プライマリ クラスに 2 番目のクラスのオブジェクトを表示させる方法を知りたいです (2 番目のクラスを内部に保持します)。私は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; }
   }
}

内部修飾子を使用すると、このパターンをスケールアウトして、効果的に多くのプライベート サブクラスを作成できます。内部オブジェクトは基本的に、同じアセンブリ内のコードに対してパブリックであり、それ以外の場所ではプライベートです。ラッパーをパブリックとしてマークし、各子を内部としてマークします。これには、ラッパー クラスとすべての子クラスをそれぞれ別のプロジェクト (つまり、アセンブリ) に配置する必要があることに注意してください。新しいプロジェクト内の独自のファイルに各クラスを定義することができます (そしてそうすべきです)。

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 に答える