[C#] Créer 1 instance d'1 classe en connaissant son nom (string)

Créer 1 instance d'1 classe en connaissant son nom (string) [C#] - C#/.NET managed - Programmation

Marsh Posté le 17-03-2004 à 10:47:59    

Salut
 
Le titre n'est sans doute pas très clair.
J'aimerai, en lisant un fichier texte, créer dynamiquement des instances de certaines classes. Par exemple, si dans mon fichier je lis "toto", je voudrais pouvoir créer un objet de la classe "toto". Le problème dans mon cas, c'est qu'à la programmation, je ne connais pas toute les classes, ce qui m'empêche d'utiliser un switch case par exemple.
 
Est-il possible de faire cela ?
 
Merci


---------------
Qui avale une noix de coco fait confiance à son anus...
Reply

Marsh Posté le 17-03-2004 à 10:47:59   

Reply

Marsh Posté le 20-05-2004 à 17:56:45    

C'est tout à fait possible. Pour cela tu as plusieurs méthodes :

  • Soit tu utilises

    Code :
    1. Type.GetType("Toto" );

    puis tu utilises

    Code :
    1. Type.GetConstructors()

    pour trouver le constructeur dont tu as besoin, pour ensuite l'appeler.

  • Soit tu utilises la fonction

    Code :
    1. Activator.CreateInstance("Toto", new object[]{ "test", 0, 0.0, 0.0f });

    pour un constructeur prenant une string, un entier, un double et un single comme paramètres.


La réflection est un outil très puissant dans .NET, mais il est  malheureusement très mal connu. Il permet pourtant de modifier très profondément la manière de programmer... C'est ce qui rend .NET si intéressant :)
 
--
Jay
{Epitech.}
http://msdn.labtech.epitech.net/blogs


Message édité par jaylee le 20-05-2004 à 17:58:45
Reply

Marsh Posté le 21-05-2004 à 08:42:32    

ouah.... super :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed