C# 继承类C中的空构造函数#

C# 继承类C中的空构造函数#,c#,oop,C#,Oop,我用C#编写了一个简单的泛型类 class-Foo { 公共对象O{get;set;} 公共食物(对象o) { O=O; } } 以及从中继承的另一个类 class Bar:Foo<object> { public Foo(object o):base(o) { } } 类栏:Foo { 公共Foo(对象o):基(o) { } } 我的问题是,我是否可以避免在Bar类中编写该构造函数,因为它没有任何特殊功能。PS:构造函数中的参数是必需的。不,不能。构造函数没有继承

我用C#编写了一个简单的泛型类

class-Foo
{
公共对象O{get;set;}
公共食物(对象o)
{
O=O;
}
}
以及从中继承的另一个类

class Bar:Foo<object>
{
   public Foo(object o):base(o)
   { }
}
类栏:Foo
{
公共Foo(对象o):基(o)
{ }
}

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

不,不能。构造函数没有继承性。
Bar
中的构造函数做了一些事情:它使用自己的参数为基本构造函数提供参数。没有办法自动做到这一点

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

public Bar() : base()
{
}
对于具体类或抽象类:

protected Bar() : base()
{
}

。。。只有在不显式提供任何其他构造函数的情况下,才会提供该构造函数。

并且它还告诉编译器“不要为此类生成默认构造函数”@dotctor:希望我的最后一句话已经涵盖了这一点:)
protected Bar() : base()
{
}