挑战: 请创建以下类的实例(使用任何类型作为T):
class Foo<T>
where T : Foo<T>
{
}
你可以使用任何你喜欢的技术;简单的“新MyClass ......”,使用反射,黑客攻击MSIL等等。
答案 0 :(得分:12)
static class Program {
static void Main() {
Foo<Bar> foo = new Foo<Bar>();
}
}
class Foo<T> where T : Foo<T> {}
class Bar : Foo<Bar> {}