ジェネリックスでこの宣言を検討してください。
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
インスタンス化できないクラスを作成しましたか?リフレクションで初期化できますか?