Wil*_*sch 2 c# constructor multiple-constructors
是否可以为C#类定义备用无参数构造函数?
换句话说,我有一堂课Foo.我想要一个默认的构造函数Foo()和另一个构造函数SpecialFoo().我不介意SpecialFoo()构造函数是否调用Foo()构造函数.
我能这样做吗?
您只能有一个具有给定参数集的构造函数,因此您不能拥有两个无参数构造函数.
您可以使用另一个public static Foo SpecialFoo方法,它将是工厂方法并将返回Foo类的新实例,但要使用它,您将不使用new关键字:
class Foo
{
public static Foo SpecialFoo()
{
return new Foo();
}
}
Run Code Online (Sandbox Code Playgroud)
var instance1 = new Foo();
var instance2 = Foo.SpecialFoo();
Run Code Online (Sandbox Code Playgroud)