Quels sont, exactement mélangés?
Y a-t-il des techniques pour atteindre cela en C #? P>
3 Réponses :
Je ne suis pas expert, mais c'est ce que j'ai trouvé. p>
de msdn blog: strong> em> p>
Mélangements en C # strong> em> p>
Certains suggèrent que les méthodes d'extension dans
Le prochain C # 3.0 est une sorte de
Mélanges, parce que vous pouvez mettre dans
Fonctionnalités dans ces méthodes et
étiquetez-le arbitrairement sur n'importe quelle classe que vous
vouloir. Dans la spécification C # 2.0
Section 20.1.3 Il est clairement appelé
sur la classe de base d'un générique
la classe doit être une classe construite
Tapez donc cette règle en utilisant ce qui précède
approche à utiliser dans C #. je ne suis pas
trop sûr de savoir pourquoi nous choisissons de
interdire explicitement la sous-classe abstraite.
Puisque c # ne supporte pas
héritage multiple, imo il devrait
ont pris en charge le codage de style mixin. p>
blockQuote>
Un mixin est un ensemble de membres de la classe pouvant être "mélangés" dans une classe sans problèmes de multi-héritage. P>
C # n'a pas de mélanges en soi, mais offre des méthodes d'extension pour des objectifs similaires. P>
Bien que ce n'est pas tout à fait un mixin. Aurait un exemple facile à voir dans une pseudo ou une langue réelle?
@Noproblembabe: Par exemple, Ruby fournit le mixin code> énumérable CODE> qui peut être mélangé dans des classes qui sont énormes pour étendre la classe avec des procédés de filtrage, de cartographie et de tri. C # /. Net a la classe statique énumérable code> qui fournit des méthodes d'extension pour filtrage, mappage et trier les classes énumérables ("linq").
Interface publique IEMailitem {String Sendtoname {Obtenir; ensemble; } chaîne sendtoaddress {obtenir; ensemble; }} Ensuite une méthode d'extension sendmail (ce code IEMailitem m) {Quelque code réel ici} Chaque interface d'implémentation de la classe IEMailItem "hériter" de "hériter" de la méthode d'envoi de courrier
Veuillez vérifier ré-mélanger sur CodePlex.com . C'est une bibliothèque open source pour apporter des mélanges à .NET P>
Là, vous aurez un guide étape par étape sur la manière de mettre en œuvre des mélanges avec .NET P>
Wikipedia Link Si vous êtes désemparé comme moi: en.wikipedia.org/wiki/mixin