Gestion des exceptions personnalisées dans ma classe
cs_bonagad
Messages postés87Date d'inscriptionvendredi 22 décembre 2006StatutMembreDernière intervention19 mai 2012
-
13 janv. 2011 à 10:47
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
13 janv. 2011 à 15:21
Salut les amis,
j'ai un souci dont je désire soliciter votre coup de pouce. je suis entrain d'écrire une librairie (dll) réutilisable.c'est-à-dire qu'elle ne sera pas forcement seulement utilisée dans ma propre application.je voudrais enfin la partager à qui la veut.Mais en ce moment je rencontre quelques difficultés.elles
sont de deux ordres:
je veux en premier lieu pouvoir mettre en place des exceptions personnalisées afin
que quiconque utilise ma librairie puisse faire appel à mes exceptions en vue d'éviter quelque anormalies.
Exemple d'utilisation de quelques classes de ma dll:
Try
'ici l'appel des instruction de ma librairie et d'autres choses...
catch ex_personal as mytype
'ici message ou autres
End try
En deuxième lieu:
je dispose d'une classe nommée "joypak" dans ma librairie qui possède deux constructeurs et des membres. Un aperçu de cette classe est:
Public Class joypak
Private _A,_B as string
Private _X,_Y as double
Private _K as double
Sub new (ByVal x as double,ByVal y as double) ' Constructeur1
_X x: _Y y
End sub
Sub new (ByVal a as string,ByVal b as string,ByVal k as Double) ' Constructeur2
_A a: _B b
_K=k
End sub
Public Sub proc1()
End sub
Public Sub proc2()
End sub
Public Sub proc3()
End sub
End Class
Ma préoccupation est ceci: je voudrais que lorsque je cré une instance Var1 de la classe joypak avec le constructeur 1, que je ne puisse qu'avoir accès uniquement aux méthodes Proc1 et Proc2.donc l'appel de la methode proc3 avec cette variable devrait généré une erreur et ensuite lorsque j'instancie Var2 avec le constructeur 2, que je ne puisse avoir accès uniquement qu'à la méthode public Proc3.
Illustration:
Dim Var1 as new joypak(12.5, 15.0)
Messagebox.show (var1.proc1)
Messagebox.show (var1.proc2)
Messagebox.show (var1.proc3) 'si tout va bien 'une erreur doit etre générée.
Messagebox.show (var2.proc3) 'par contre cette 'instruction doit marcher.
merci d'avance pour les essais de solutions.
Best Regards.
A voir également:
Gestion des exceptions personnalisées dans ma classe
cs_bonagad
Messages postés87Date d'inscriptionvendredi 22 décembre 2006StatutMembreDernière intervention19 mai 2012 13 janv. 2011 à 14:47
salut
Pour la deuxieme question,
un heritage devrait repondre à ton probleme
joypakA herite de joypak
et defini proc1 et proc2
et joypakB herite de joypak
et defini proc3
D'abord merci pour la spontanéité de ta réponse mais je ne me retrouve pas encore sur ta réponse.si j'essaie de comprendre c'est que joypakA et joypakB sont bien sûr des classes qui héritent de la classe joypak et qui ont respectivement pour méthodes: proc1; proc2 et proc3.
me basant sur cette compréhension comment dois-je instancier ma classe joypak. est-ce que lorsque je fais
Var1 As new joypak(12.5,18.0)
,
j'accèderai qu'à proc1 et proc2. ou dois-je faire d'abord faire
Var1 As new joypakA(12.5,18.0)
pour que ça marche. Car la dernière option ne m'intéresse guère.
merci encore et je t'espère...
cs_bonagad
Messages postés87Date d'inscriptionvendredi 22 décembre 2006StatutMembreDernière intervention19 mai 2012 13 janv. 2011 à 15:14
Est-ce que tu veux me faire comprendre qu'il n'existe aucune instruction qui me permet limiter l'accès de certaine méthodes bien que publique dans une classe selon qu'on appelle telle ou telle constructeur de cette classe.
Vous n’avez pas trouvé la réponse que vous recherchez ?
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 13 janv. 2011 à 15:21
Oui, il me semble, je ne connais pas tout non plus.
Il faut donc trouver soit une autre architecture (heritage par exemple)
ou des artifices pour controler ce que tu souhaites
controle de l'etat de l'objet