Je débute dans la programmation d'attributs. Je ne sais pas si je pose la bonne question ou non. J'ai une classe de base abstraite (AbstarctBase) et deux classes drivées Derived1 et Derived2. Ma classe AbstartBase possède deux méthodes Method1 et Method2.Programmation d'attribut en C#
Est-il possible d'utiliser la programmation d'attribut de telle sorte que quand je fais
AbstractBase ab= new Derived1();
Je ne reçois accès à Method1
et quand je l'utilise Derived2
classe je reçois seulement l'accès à Method2
.
Est-ce possible? Si oui, alors pouvez-vous s'il vous plaît me donner un exemple pour commencer.
Qu'est-ce que la "programmation d'attributs"? Quoi qu'il en soit, "Non" - pas comme ça. C'est parce que '' '' '' '' '' '' '' '' '' '' both both * * »est défini pour' 'AbstractBase'» (en tant que telles, toutes les classes dérivées héritent de ces méthodes) Si vous ne le souhaitez que dans une classe dérivée particulière, déclarez-la là. Si vous souhaitez simplement empêcher le code externe de voir les méthodes de base, vous pouvez utiliser des modificateurs de visibilité suffisants - par ex. 'protected'. – user2864740
Dans votre situation, une interface serait mieux, de cette façon, vous pouvez déclarer public les méthodes que vous voulez être visible et prive les cachés – Gusman