【发布时间】:2013-03-08 05:37:33
【问题描述】:
我有一个抽象的通用类“BaseClass”和一个这样定义的类“SubClass”:
public class SubClass : BaseClass<SubClass>
我想在基类中定义一个静态方法,签名如下:
public static T GetSub()
然后在子类上调用 this 使其返回子类的一个实例
SubClass sub = SubClass.GetSub();
GetSub 必须调用 SubClass 的默认构造函数,然后返回实例。
这似乎有点疯狂,但我至少很想知道这是否可能。当谈到 C# 更复杂的 OOP 功能时,我还是个新手,所以我真的只是在黑暗中摸索。
【问题讨论】:
-
return new SubClass()(并添加通用约束new()以指定类型参数是可实例化的)。