繁体   English   中英

如何从子类访问父级中的方法

[英]How to Access method in Parent from Child Class

我有一个方法在子类中,我想借助此方法在父类中获取它。

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.
    }
}

您已经声明了方法,但是它在class2 这意味着您需要创建class2的实例才能使用该方法

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
    { 
        class2 cs = new class2();
        cs.Add(4,5);
    }
}

您将不得不在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#参考)

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
    {
        Class2 newclass2 = new Class2();
        newclass2.Add(1, 2);
        // Get this Add method by This.Add ??
        // Not able to fetch the Add method here.
    }
}

您需要为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);
}

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM