OVH Cloud OVH Cloud

New avec un type passé en parametre

3 réponses
Avatar
YB
Bonjour =E0 tous.

Je cherche =E0 faire un truc du genre :

Sub maSub(maForm, monType)
maForm =3D New monType
End Sub

Bon, c'est tr=E8s simplifi=E9 ici, mais l'essentiel y est. En gros, je
veux faire un new de fa=E7on "dynamique".

Est-ce possible ? Est-ce que l'un de vous sait faire =E7a ?

Merci, d'avance.

Yann

3 réponses

Avatar
Guillaume Davion
Le plus simple, c'est d'utiliser une interface.

Tu définit une interface que vont implémenter toutes tes forms, et tu
utilise cette interface comme type pour ton paramètre maForm.

L'autre méthode, si tu tiens absolument à passer par des types
"dynamiques", c'est d'utiliser la reflection, mais honnétement, ca
risque d'être très compliqué pour aboutir au même résultat.
Avatar
Remi Thomas - MVP
"YB" écrivit
Bonjour à tous.

Je cherche à faire un truc du genre :

Sub maSub(maForm, monType)
maForm = New monType
End Sub

Bon, c'est très simplifié ici, mais l'essentiel y est. En gros, je
veux faire un new de façon "dynamique".

Est-ce possible ? Est-ce que l'un de vous sait faire ça ?

Merci, d'avance.

Yann

---
Bonjour,

Oui c'est possible.
Il faut regarder Activator.CreateInstance

Rémi

--
Rémi Thomas - MVP Visual C++
Développeur Windows indépendant
http://www.xtware.com/cv
Avatar
YB
C'est exactement ce qu'il me fallait.
Merci beaucoup.

Yann