如何以及何时在C#中调用基类构造函数
答案 0 :(得分:14)
您可以像这样调用基类构造函数:
// Subclass constructor
public Subclass()
: base()
{
// do Subclass constructor stuff here...
}
如果存在所有子类需要设置的内容,则调用基类。需要初始化的对象等......
希望这有帮助。
答案 1 :(得分:7)
从子类构造函数中调用基类构造函数通常是一种很好的做法,以确保基类在子类之前初始化自身。您使用base
关键字来调用基类构造函数。请注意,您还可以使用this
关键字调用班级中的其他构造函数。
以下是如何操作的示例:
public class BaseClass
{
private string something;
public BaseClass() : this("default value") // Call the BaseClass(string) ctor
{
}
public BaseClass(string something)
{
this.something = something;
}
// other ctors if needed
}
public class SubClass : BaseClass
{
public SubClass(string something) : base(something) // Call the base ctor with the arg
{
}
// other ctors if needed
}