Fondamentalement ce que je voudrais savoir est s'il y a n'importe quel moyen d'ajouter de nouvelles «déclarations» aux langages .net basés? Un exemple de ce que je cherche serait quelque chose comme l'introduction d'un public class MyClass decoratorOf ClassWithLotsOfMethods
et au moment de la pré-compilation changer cela pour être une classe normale qui remplace tout par défaut mais les méthodes que je définis.Extension du langage C#?
Un autre exemple serait le .net 3.5 propriétés auto, ou des méthodes d'extension, etc.
Ceci est juste pour le plaisir, pas que je veux vraiment faire, tout simplement curieux de savoir s'il est possible
Merci! Seba
On dirait que vous pensez de la façon dont je voudrais comme les méthodes d'extension à travailler - si Foo est déclaré comme une classe d'extension de Bar, alors un objet déclaré comme Foo serait considéré comme une barre, sauf pour le traitement à la compilation des méthodes et propriétés auto-statiques de Foo qui seraient inconditionnellement ombre ceux de Bar (même lorsque les méthodes correspondantes existent dans Bar). Une telle conception permettrait aux membres d'être ajoutés à Bar sans casser le code qui utilise Foo, même si ces membres correspondent aux noms des extensions de Foo. Dommage, je ne connais aucun moyen de faire en sorte que le langage le supporte. – supercat
@supercat: vous devriez jeter un oeil à [Scala implicits] (http://www.artima.com/weblogs/viewpost.jsp?thread=179766) –