假设我有一个名为Foo的类,并且Foo内部是一个名为GetInstance的静态方法,该方法返回类型Foo。 GetInstance是否有C#速记方法来创建Foo实例而不必键入“ new Foo()”?]
换句话说,如果调用的方法创建的方法与该方法所属的类型相同,是否有特殊的C#关键字创建包含类型的实例?
代码示例:
public class Foo
{
public static Foo GetInstance()
{
return new Foo(); //is there something like new container() or maybe just constructor()
}
}
不,C#中没有这样的关键字。
我能想到的最短的方法实际上并不涉及封闭类型,是使用反射:
return Activator.CreateInstance(MethodBase.GetCurrentMethod().DeclaringType);
但请注意:
所以使用后果自负...