Maison >développement back-end >C++ >Comment puis-je créer des objets C# génériques avec une spécification de type dynamique à l'aide de Reflection ?
Utilisez la réflexion pour créer des objets génériques C# avec une spécification de type dynamique
En C#, vous devrez peut-être créer dynamiquement un objet générique, tel qu'une instance de la classe Task
Pour créer dynamiquement un objet TaskA ou TaskB générique, suivez ces étapes :
Par exemple :
<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>
Si une classe générique accepte plusieurs paramètres de type, veillez à inclure une virgule lorsque vous omettez le nom du type, par exemple :
<code class="language-csharp">Type type = typeof(IReadOnlyDictionary<,>); </code>
Remarque : L'exemple de code suppose que "namespace.TaskA1" 和
Item是已定义的类型。 实际应用中,需要根据您的具体项目替换这些占位符。 此外,错误处理(例如,处理
Type.GetType()` renvoie null) est critique dans un environnement de production.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!