型変数を使用したジェネリック インスタンスの動的作成
C# では、ジェネリック型は、さまざまなデータ型を処理できるデータ構造を定義して使用するための便利な方法を提供します。ただし、場合によっては、包含型の変数を使用してジェネリック型のインスタンスを作成することが必要になる場合があります。
次のコードは、double 型を含む変数 k を使用して List
<code class="language-c#">Type k = typeof(double); List<k> lst = new List<k>();</code>
この問題を解決するには、次の方法を使用できます:
以下は修正されたコードです:
<code class="language-c#">var genericListType = typeof(List<>); // 注意<> var specificListType = genericListType.MakeGenericType(typeof(double)); var list = Activator.CreateInstance(specificListType);</code>
このアプローチでは、 Type を含む変数を使用してジェネリック型のインスタンスを動的に作成できます。この柔軟性により、複雑なデータ構造や、ジェネリック型をプログラムで決定する必要があるシナリオを処理できるようになります。 typeof(List<>)
内の <>
に注目してください。これは、これが特定の型ではなくジェネリック型であることを示しています。
以上が型変数を使用して C# でジェネリック インスタンスを動的に作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。