1

C# では、オープン ジェネリック型を簡単に作成できますtypeof(IEnumerable<>)。オープン ジェネリックを含む型を作成する方法はありますか? 以下は機能しません: typeof(IEnumerable<IFoo<>>).

4

2 に答える 2

1

方法はありません。これらはジェネリックではありませんが、バインドされていない型です。これらは特別な型であり、インスタンス化することはできません。バインドされていないジェネリック型は、直接の typeof-expression 内でのみ使用できます。

使用するtypeof(IEnumerable<IFoo<>>)場合、typeof式ではなく式で非バインド型を使用していIEnumerable<T>ます。

于 2016-10-20T01:49:41.317 に答える