Avatar ·

Comment créer une instance d'un objet selon son type (Type) en C# ?

Bonjour à tous ! Je suis débutant en C# et j'ai rencontré un problème. J'ai une variable de type `Type`, par exemple obtenue via `typeof(MyClass)` ou à partir d'une chaîne contenant le nom de la classe. Je dois créer dynamiquement un objet de ce type, mais je ne sais pas comment faire. Voici un exemple qui ne fonctionne pas : ```csharp Type myType = typeof(StringBuilder); var instance = new myType(); // Erreur : "myType" est une variable, pas un type ``` Je comprends qu'en C#, on ne peut pas utiliser `new` avec une variable de type `Type`. J'ai cherché sur Google, j'ai trouvé des mentions de `Activator.CreateInstance`, mais je n'ai pas tout compris. Comment créer correctement un objet si je n'ai que le `Type` ? Il est important que la solution fonctionne à la fois pour les classes sans paramètres de constructeur et pour celles avec paramètres. Merci d'avance ! <<>>

Utilisation de Activator.CreateInstance

Pour créer un objet selon un type en C#, on utilise la classe Activator de l'espace de noms System. C'est la méthode la plus simple et la plus courante. Voici comment