2

私は子クラスにあるメソッドを1つ持っており、これを利用して親でそれを取得したいと考えています。

public class Class1
{
    private class Class2
    {
        public void Add(int a, int b) // Method in Class 2
        {
            this.Add(a, b);
        }
    }

    public Class1() // constructor of Class 1
    { 
        // Get this Add method by This.Add ??
        // Not able to fetch the Add method here.
    }
}
4

4 に答える 4

1

Class1 のコンストラクターで Class2 のインスタンスを作成してインスタンス メソッドを使用するか、メソッド Add to static in Class2 を変更する必要があります。

静的バージョン

何かのようなもの

public class Class1
{
    private class Class2
    {
        public static void Add(int a, int b)
        {

        }
    }

    public Class1()
    {
        Class2.Add(1,2);
    }
}

インスタンスのバージョン

何かのようなもの

public class Class1
{
    private class Class2
    {
        public void Add(int a, int b)
        {

        }
    }

    public Class1()
    {
        new Class2().Add(1,2);
    }
}

多分静的を見てください(C#リファレンス)

于 2013-08-12T06:18:10.397 に答える
0

Class2 のインスタンスを作成する必要があります

 public class Class1
 {
   private class Class2
    {
      public Class2() // constructor of Class2
      { 
      }

      public void Add(int a, int b) // Method in Class2
      {
        this.Add(a, b);
      }
    }

public Class1() // constructor of Class1
{ 
    Class2 cs2 = new Class2();
    cs2.Add(4,5);
}

}

于 2013-08-12T06:29:56.793 に答える