繁体   English   中英

继承C类的空构造函数

[英]Empty constructor in inheriting class C#

我在C#中编写了一个简单的泛型类。

class Foo<T>
{
   public object O{get;set;}
   public Foo(object o)
   {
      O=o;
   }
}

和另一个继承自它的类

class Bar:Foo<object>
{
   public Foo(object o):base(o)
   { }
}

我的问题是我是否可以避免在Bar类中编写该构造​​函数,因为它根本没有任何特殊之处。 PS:构造函数中的参数是必需的。

不,你不能。 没有构造函数的继承。 Bar 的构造函数确实做了一些事情:它为基础构造函数提供了一个参数,使用它自己的参数作为该参数。 没有办法自动完成。

编译器将自动为您提供的唯一构造函数相当于:

public Bar() : base()
{
}

对于具体类或抽象类:

protected Bar() : base()
{
}

......并且仅在您未明确提供任何其他构造函数时才提供。

暂无
暂无

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

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