Sub New et RaiseEvent [Résolu]

Signaler
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
-
Messages postés
13
Date d'inscription
lundi 7 juillet 2003
Statut
Membre
Dernière intervention
8 mai 2009
-
Bonjour à tous, en particulier aux pros de VB.NET !!!

Dans une classe, j'ai pas mal de chose à faire dans la Sub new(...) : Création d'instances de membres privés, lecture dans des fichiers sur disque, etc ... bref, la sub New() risque d'être un peu longue et surtout, je voudrais que le code instanciant un objet de ma classe puisse avoir un retour sur ce qui se passe.
J'ai voulu coller des RaiseEvent entre chaque étape, mais il semble que VB.NET ne déclenche pas les EVT correspondant durant le code de la Sub New(). Ce comportement,que je comprend malgré tout -l'instance n'existe qu'à la fin de New(), alors pourquoi déclencherait-elle des EVT après tout ?- me bloque.

Avez-vous une option, sauf à proposer la création d'une sub Init(...) publique, faisant le boulot de ma Sub New(...) actuelle, solution à laquelle j'aimerai éviter ?

3 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
65
mets ton code dans un public sub Init( ... )
par exemple

ton instance sera accessible et pourra declencher des evenements ^^
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
Ouais, je sais bien ! C'est ce que j'ai fait en attendant de voir s'il y avait un moyen avec les EVT dans New().
La seule chose qui me chagrine, c'est que l'utilisateur de ma DLL devra coder :

Dim Obj as MaClasse

Obj = New MaClasse()
Obj.Init(...)

Je voulais que tout soit fait dans la ligne de création de l'instance !
Mais si cela n'est pas possible, tant pis pour moi !

Merci quand même.
Messages postés
13
Date d'inscription
lundi 7 juillet 2003
Statut
Membre
Dernière intervention
8 mai 2009

avec le framework 3.5, il faut déclarer l'événement shared : Public Shared Event ...
Je crois que ça ne marche pas avec les frameworks précédents.