public class BaseFoo
{
private string param;
public BaseFoo(string param)
{
this.param = param;
}
}
public sealed class SingletonFoo : BaseFoo
{
static readonly SingletonFoo instance = new SingletonFoo();
static SingletonFoo()
{
}
public static SingletonFoo Instance
{
get
{
return instance;
}
}
}
在基类需要带有参数的构造函数的情况下,这种继承是否可能? (上面的代码显然不会编译,因为没有参数传递给基类。)
如果是,如何完成?
最佳答案
您需要创建一个实例构造函数,然后引用它:
public sealed class SingletonFoo : BaseFoo
{
static readonly SingletonFoo instance = new SingletonFoo("Some Value");
static SingletonFoo()
{
}
private SingletonFoo(string value) : base(value)
{
}
// ...
这将使您可以在内联构造函数中声明参数,并在链中进行调用。