Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2614 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Cacher des méthodes d'une interface

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#] Cacher des méthodes d'une interface

n°2117986
RedFishes
Posté le 22-12-2011 à 17:11:41  profilanswer
 

Bonjour,
 
Je travaille dans un environnement de programmation par interface.
 
J'ai une interface (IInterface) qui est trop complète pour des parties de mon code.  
J'aimerai cacher certaines de ses méthodes, l'alléger (disons IInterfaceLight), tout en gardant une notion de hiérarchie/cast/conversion pour revenir de IInterfaceLight vers IInterface.
 
 

Code :
  1. class XXX
  2. Do(IInterface m) doit être remplacé par Do(IInterfaceLight m)
  3. ---
  4. IInterface
  5. - MethodA
  6. - MéthodB
  7. ---
  8. IInterfaceLight
  9. - MethodA
  10. ---
  11. class wrapperLight : IInterfaceLight
  12. {
  13. public wrapperLight (IInterface )
  14. }


 
J'ai deux solutions à ce problème :  
- faire une classe wrapper qui implémente IInterfaceLight et qui se branche directement sur les méthodes de IInterface
- Faire dériver IInterface de IInterfaceLight, ce qui me dérange car dans le fonctionnement, IInterfaceLight est toujours une IInterface  
 
De meilleurs idées ?
 
Merci
 
---  
Edit :
Si je divise IInterface en IInterfaceLight et IInterfaceNonLight, et que IInterface hérite de ces deux interfaces, ça pourrait marcher... des avis ?


Message édité par RedFishes le 22-12-2011 à 17:18:42
mood
Publicité
Posté le 22-12-2011 à 17:11:41  profilanswer
 

n°2117993
RedFishes
Posté le 22-12-2011 à 18:00:14  profilanswer
 

Merci pour ta réponse.
 
Mais je sens que je vais être obliger de m'orienter vers le wrapper, car avec la hierarchie d'interface, il y a toujours en fait la possibilité de down caster de InterfaceBase vers Interface...
 
J'aurai du le voir avant.

n°2118108
RedFishes
Posté le 23-12-2011 à 10:24:05  profilanswer
 


La possibilité existe de caster explicitement de interfacebase vers interface, lorsque l'objet s'y prête, ce qui serait toujours le cas ici.  
 
Et je n'ai pas envi que le mec en fasse puisse le faire

n°2118118
RedFishes
Posté le 23-12-2011 à 11:08:10  profilanswer
 

J'ai trouvé ce lien aussi, qui pose une autre approche à mon sujet :
http://stackoverflow.com/questions [...] -an-object


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Cacher des méthodes d'une interface

 

Sujets relatifs
[C][OSX][LibSDL] Compilation OK, mais problème d'exécution...[C] Tri par insertion simple & pointeurs de dates
[Objective-C] Récupérer une variable d'un vueConvertir C++ en C
[MATLAB] Appeler une structure C d'une dll avec Calllib (crash)Structure C
colorer surface bezier opengl C++Communication programmes C
[C#] erreur dans le codeAppeler une librairie dynamique écrite en C dans Fortran sous Linux
Plus de sujets relatifs à : [C#] Cacher des méthodes d'une interface


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR