リフレクションを使用して、動的型仕様を持つ C# 汎用オブジェクトを作成します
C# では、Task
汎用 TaskA または TaskB オブジェクトを動的に作成するには、次の手順に従います:
例:
<code class="language-csharp">Type d1 = Type.GetType("namespace.TaskA`1"); Type[] typeArgs = { typeof(Item) }; var makeme = d1.MakeGenericType(typeArgs); object o = Activator.CreateInstance(makeme);</code>
ジェネリック クラスが複数の型パラメーターを受け入れる場合、型名を省略する場合は必ずコンマを含めてください。次に例を示します。
<code class="language-csharp">Type type = typeof(IReadOnlyDictionary<,>); </code>
注: このコード例では、「namespace.TaskA1" 和
Item是已定义的类型。 实际应用中,需要根据您的具体项目替换这些占位符。 此外,错误处理(例如,处理
Type.GetType()` returns null)」が運用環境では重要であると想定しています。
以上がリフレクションを使用して動的型指定を持つ汎用 C# オブジェクトを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。