OVH Cloud OVH Cloud

System.Type

5 réponses
Avatar
Fred
Bonjour,
Je transforme un ArrayList nommé "MonArrayList" en tableau d'objets de type
"MonType".
Pour cela je procède de la manière suivante :

Dim MonInstance As New MonType
Dim MonTableau As MonType()
MonTableau = MonArrayList.ToArray(MonInstance.GetType)

Question : peut-on se passer de la création d'une instance de "MonType" pour
en récupérer le type ?


--
Fred

5 réponses

Avatar
De Simone Alessandro
Fred a écrit :
Bonjour,
Je transforme un ArrayList nommé "MonArrayList" en tableau d'objets de type
"MonType".
Pour cela je procède de la manière suivante :

Dim MonInstance As New MonType
Dim MonTableau As MonType()
MonTableau = MonArrayList.ToArray(MonInstance.GetType)

Question : peut-on se passer de la création d'une instance de "MonType" pour
en récupérer le type ?





J'espère avoir compris ce que tu dis !
Pour avoir le type d'un objet sans devoir l'instancier et puis aller
GetType il te suffit d'utiliser *typeof*

--
Alessandro De Simone
email : (remove ".IHATESPAM")

Win32
Avatar
Fred
Dans son message
De Simone Alessandro nous dit :

Fred a écrit :
Bonjour,
Je transforme un ArrayList nommé "MonArrayList" en tableau d'objets
de type "MonType".
Pour cela je procède de la manière suivante :

Dim MonInstance As New MonType
Dim MonTableau As MonType()
MonTableau = MonArrayList.ToArray(MonInstance.GetType)

Question : peut-on se passer de la création d'une instance de
"MonType" pour en récupérer le type ?





J'espère avoir compris ce que tu dis !



Non, mais plongé dans mon idée j'ai été trop succinct !

Pour avoir le type d'un objet sans devoir l'instancier et puis aller
GetType il te suffit d'utiliser *typeof*



Ce n'est pas ce que je veux faire. En fait, j'ai besoin d'un paramètre de
type System.Type dans l'appel de ma méthode ToArray.
Je veux donc un objet de type System.Type qui représente "MonType", et le
seul moyen que j'ai trouvé, c'est d'appeler GetType sur une instance de ma
classe "MonType", alors que cette instance ne me sert strictement à rien !
Ce n'est pas bien méchant mais cela ne me paraît pas "naturel".



--
Fred
Avatar
De Simone Alessandro
c'est une simple petite distraction de ma part.

typeof() en c# retourne un System.type.
Hors en visual basic typeof est un opérateur et il permet de tester si
un objet est dérivé d'un type particulier.

Donc ce n'est pas typeof mais GetType (utilise l'opérateur et non pas la
fonction GetType).

exemple :

Dim arf As New ArrayList

...

arf.ToArray(GetType(nom_de_ton_objet))


--
Alessandro De Simone
email : (remove ".IHATESPAM")

Win32
Avatar
Fred
"De Simone Alessandro" a écrit dans le
message de news:
c'est une simple petite distraction de ma part.

typeof() en c# retourne un System.type.
Hors en visual basic typeof est un opérateur et il permet de tester si
un objet est dérivé d'un type particulier.



Oui,

Donc ce n'est pas typeof mais GetType (utilise l'opérateur et non pas la
fonction GetType).



Merci beaucoup,
Je m'obstinais à chercher dans le framework alors que la solution était sous
mon nez en VB !
Avatar
De Simone Alessandro
Fred wrote:

Merci beaucoup,



;-) de rien

--
Alessandro De Simone
email : (remove ".IHATESPAM")

Win32