考虑这个带泛型的声明:
public class BaseNode<TNode> where TNode : BaseNode<TNode>
{
public class Node : BaseNode<Node>
{
public Node() { }
}
}
有没有一种方法可以在基类外部创建Node
类的实例?我以前使用过这种模式,但总是将派生类留在基类之外。
如何在没有编译器错误的情况下编写以下内容?
var obj = new BaseNode<Node>.Node();
// error CS0246: The type or namespace name 'Node' could not be found
我创建了一个无法实例化的类吗?它是否可以通过反射进行初始化?
Node
定义在BaseNode
之外? - benjer3