begin process at 2012 02 10 12:13:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

equivalent de class.forName en c# ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

equivalent de class.forName en c# ?

vendredi 31 mars 2006 à 10:25:51 | equivalent de class.forName en c# ?

mitsew

Bonjour,
je voudrais instancier une classe à partir de son nom sous forme de string.
je m'explique:
-j'ai une classe mère c_base_mere
-des classes filles : c_fille1, c_fille2....
(les noms sont fictifs c pour mieux comprendre)

je voudrais faire :
string nom="c_fille1";
C_base_mere ma_classe= class.forName(nom);

class.forName est la façon de faire ej java, je voudrais le faire en c#?

Quelqu'un à la solution ?
vendredi 31 mars 2006 à 10:37:21 | Re : equivalent de class.forName en c# ?

sebmafate

Membre Club Administrateur CodeS-SourceS
object toto = Activate.CreateInstance( NomDeLaClasseToto );

Sébastien FERRAND (blog)
[Microsoft MVP Visual C#]

vendredi 31 mars 2006 à 10:42:16 | Re : equivalent de class.forName en c# ?

MorpionMx

Membre Club Administrateur CodeS-SourceS
Salut,

Essaies ceci :


using System.Reflection;
...

string
maClasse = "namespace.nomClasse";
Type t = Type.GetType(maClasse);
Object o = Activator.CreateInstance(t);



Mx
MVP C#
 

vendredi 31 mars 2006 à 11:04:15 | Re : equivalent de class.forName en c# ?

sebmafate

Membre Club Administrateur CodeS-SourceS
oops... petite erreur...  c'est Activator

en gros, avec ton exemple :

string nom="c_fille1";
C_base_mere ma_classe= (C_base_mere)Activator.CreateInstance(Type.GetType(nom));

Sébastien FERRAND (blog)
[Microsoft MVP Visual C#]

vendredi 31 mars 2006 à 11:04:59 | Re : equivalent de class.forName en c# ?

sebmafate

Membre Club Administrateur CodeS-SourceS
arf... le temps de répondre au téléphone et de cliquer sur "Ajouter"...

Sébastien FERRAND (blog)
[Microsoft MVP Visual C#]

vendredi 31 mars 2006 à 16:56:48 | Re : equivalent de class.forName en c# ?

mitsew

merci beaucoup de votre aide
vendredi 31 mars 2006 à 17:10:23 | Re : equivalent de class.forName en c# ?

mitsew

cela ne marche pas je n'ai tjs pas acces au élément de ma classe fille c assez bizare.

vendredi 31 mars 2006 à 22:05:59 | Re : equivalent de class.forName en c# ?

sebmafate

Membre Club Administrateur CodeS-SourceS
c'est normal !

tu utilises la classe mère la... donc, tu n'as que les membres de la classe mère.



Sébastien FERRAND (blog)
[Microsoft MVP Visual C#]

mercredi 29 octobre 2008 à 16:53:21 | Re : equivalent de class.forName en c# ?

beetlejuice722

Membre Club
Bonjours...

J'ai également le même problème que mitsew !

A savoir, avec cette manière de faire  je "n'ai toujours pas accès au élément de ma classe fille"...
Pour reprendre son exemple, l'instruction qui permettrait d'y accéder serait quelque chose comme cela :
Ex : C_fille1 ma_classe= (C_fille1)Activator.CreateInstance(Type.GetType(nom));

Mais, le problème c'est que ma classe fille (C_fille1) ne devrait pas être explicitement nommée comme dans l'exemple
A vrai dire, son nom devrait être contenu dans une variable string, car sinon cela impliquerait autant de redondance de code qu'il y aurait d'objet à déclarer pour chaque classe fille !

Par conséquent, quelqu'un aurait-il une suggestion pour résoudre cette problématique ?

Je reste ouvert à toutes suggestions...

Merci par avance !

 


lundi 22 mars 2010 à 13:44:56 | Re : equivalent de class.forName en c# ?

yohan49

Membre Club
pour ceux qui repasserais par ici avec le meme soucis

Code C# :
namespace Test
{
   public class Mere
   {
      public class Fille
      {
      }
   }
}
using System.Reflection;
...

Test.Mere.Fille o = (Test.Mere.Fille)Activator.CreateInstance(Type.GetType("Test.Mere.Fille"));


Cette discussion est classée dans : string, class, equivalent, classe, forname


Répondre à ce message

Sujets en rapport avec ce message

Question Pour un debutant [ par rintchu ] Bonjour,voila mon probleme : j'ai une classe A et une classe B et un attribut A1 dans la classe A. Ca donne ceci :class A{ int A1 ; class B { Equivalent C# à Robot en Java [ par Bidou ] Bonjour,Y'a t'il un équivalent en C# de la class Robot de java?Cette class Robot permet entre autre de pouvoir faire bouger la souris à l'écran (en de Type, string et reflection [ par bigflo93 ] Salut à tous :)Je suis en pleine reflection en ce moment :) et je cherche à instancier une classe à partir d'une string.Enfin, plus précisement avoir class ou struct comme string [ par cedkat ] bonjour,Comment faire pour déclarer une class ou une struct comme string (on ne peut pas en dérivecar elle est sealed ) pour par exempleMaclass  macla Trier tableau + help [ par emmanuel9 ] Bonjour, j'ai une classe Personne : Personne {public : String * nom ; String * prenom ; int age ; }et j'ai une arraylist de 15 instance de ma classe P [.NET2] acceder a une fonction de Form1 dans une autre classe [ par ChamY ] Bonjour,J'ai une question toute bete je pense, mais qui me pose un ptit probleme.Je dispose d'une forme avec ca class (class form1), j ai egalement un Heritage d'une classe String [ par nico_fip1 ] BonjourPetite question simple Y-a-t-il moyen de créer une classe qui hérite de la classe String ?Si oui comment ?Si non pourquoi ?Merci d'avance pour Principe d'encapsulation [ par emmanuel9 ] Bonjour à tous, Quand on crée une classe en c# est ce encore d'actualité d'utilisé un accesseur et un mutateur de données pour accéder au champs pri héritage de classe [ par brico07 ] Bonjour,j'implémente dans mon projet une classe et je veux qu'elle hérite de deux Classes (class Rectangle et class Eventmouse), mais comment faire? j Dérivation de classe abstraite [ par yoh_777 ] Je voudrais simplement dériver une classe abstraite ayant un constructeur comportant un paramètre.  Voici mon programme  <div style="border: 1pt d


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,090 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales