引用从其他类继承的类

时间:2013-07-25 15:03:21

标签: c# asp.net-mvc reference

我正在创建一个库,我从Main类继承,它继承自Body

public class Main:Body

我将Main添加到我的使用引用中但是当我去发起一个实例时 - 我试过:

Main _main = new Main()它强调new Main()表示它不包含带0参数的构造函数。

我如何正确调整,以便我引用该类 - 我是否还需要包含继承的类?

1 个答案:

答案 0 :(得分:3)

  

Main _main = new Main()它强调新的Main()表示它不包含带0个参数的构造函数。

它告诉你究竟是什么问题。 <{1}}上的公共构造函数没有零参数。

您需要执行以下操作之一:

  1. 添加一个不带参数的公共构造函数:Main
  2. 调用public Main() { }类上公开的其他构造函数:如果签名为Main,则说public Main(object o)其中Main _main = new Main(o)是某个对象。
  3. 让我们看一个例子:

    o

    这个类有一个零参数的公共构造函数。因此,我可以通过

    构建实例
    class Foo {
        public Foo() { }
    }
    

    让我们看另一个例子:

    Foo foo = new Foo();
    

    这个类有一个零参数的公共构造函数。因此,我可以通过

    构造实例
    class Bar {
        public Bar(int value) { }
    }
    

    但我可以

    Bar bar = new Bar(); // this is not legal, there is no such constructor
                         // the compiler will yell
    

    还有一个:

    Bar bar = new Bar(42); 
    

    此类 具有零参数的公共构造函数。这样做是因为如果你提供任何构造函数,编译器将自动提供一个公共构造函数,默认情况下 。因此,这是合法的:

    class FooBar { }