Héritage de Template (généric) [C#] - C#/.NET managed - Programmation
Marsh Posté le 05-11-2009 à 14:42:43
En effet, après réflexion, cela n'a pas l'air possible, notamment dans le cas ou T est une interface (implémentation de maClasse incomplète...)
Sinon, dans le cas
Code :
|
Existe-t-il un moyen de rendre accessible toutes les propriétés de _object au niveau de maClasse, sans avoir à les redéfinir manuellement ?
Code :
|
Si _object contient une propriété val évidement
Merci
Toonj
PS : je rappelle le but : "encapsuler" une classe existante pour lui ajouter des propriétés, sachant que la classe existante peut être d'un grand nombre de type différent et que les nouvelles propriétés, elles sont fixées
Marsh Posté le 05-11-2009 à 15:31:36
Peut être aurais je du exposer mon problème plus clairement des le début :
J'ai une série de classes dont je veux afficher les propriétés via un gridview
Code :
|
Pour toute ces classes, je voudrais ajouter des propriétés
Code :
|
pour avoir au final des classes
Code :
|
Comme l'héritage multiple n'existe pas
Soit je définit une interface évoluée et je fais hériter mes classes évoluées de cette interface
Code :
|
Mais il faut que je le fasse pour chaque classe (impensable)
Soit (solution de repli) j'encapsule ma classe de Base dans une classe template
Code :
|
Mais dans ce cas là les propriétés de ma classe de base (mon _object) ne sont plus accessibles et ne s'afficheront pas automatiquement...
Des idées ?
Toonj
Marsh Posté le 05-11-2009 à 16:42:59
non, bien sur, ca serait trop simple ! (en plus, elles héritent déjà d'autres classes...)
Marsh Posté le 05-11-2009 à 18:04:44
Le lien ne fonctionne pas chez moi...
On vient de me dire qu'il ne faut pas afficher toutes les propriétés !
Donc en fait, pour chaque propriété à afficher, je vais faire des Template column et appeler directement la propriété voulue
_object.IntA...
et ce, pour chaque type de classe ! :smiley_du_gars_qui_se_tire_une_balle_encore une fois:
En tout cas, merci quand même...
Marsh Posté le 06-11-2009 à 21:31:39
Juste pour info, si j'ai bien compris le post initial ce que tu souhaites porte un nom : http://en.wikipedia.org/wiki/Curio [...] te_pattern
Et je pense que ce n'est pas possible (en tout cas pas aussi directement) en C#. Tu peux essayer de demander à google "CRTP c#" pour voir ce qu'il en est...
Marsh Posté le 05-11-2009 à 10:53:27
Bonjour,
Je voudrais savoir comment faire pour crée une classe générique (Template) qui hérite du type passé en paramètre de template :
typiquement :
Afin d'ajouter de nouvelles propriété à un objet existant
Remarque : La version
ne m'intéresse pas trop car les propriétés de _object ne sont pas accessible directement...
Merci d'avance
Toonj
Message édité par toonj le 05-11-2009 à 10:54:30