Fondamentalmente quello che vorrei sapere è se c'è un modo per aggiungere nuove 'istruzioni' ai linguaggi basati su .net? Un esempio di ciò che sto cercando sarebbe qualcosa di simile all'introduzione di uno public class MyClass decoratorOf ClassWithLotsOfMethods
e in fase di pre-compilazione che cambia quella per essere una classe normale che sovrascrive tutto per impostazione predefinita, ma i metodi che definisco.Estensione del linguaggio C#?
Un altro esempio potrebbe essere le proprietà auto .NET 3.5, o metodi di estensione, ecc
Questo è solo per divertimento, non è che voglio veramente fare questo, solo curioso di sapere se è possibile
Grazie! Seba
Suona come si sta pensando al modo in cui mi piacerebbe come i metodi di estensione per funzionare - se Foo è dichiarato come ExtensionClass di Bar, quindi un oggetto dichiarato come Foo sarebbe considerato come una Barra, eccetto per l'elaborazione in fase di compilazione dei metodi auto-statici e delle proprietà di Foo che sarebbe incondizionatamente ombreggia quelli di Bar (anche quando esistono metodi corrispondenti in Bar). Un tale disegno permetterebbe ai membri di essere aggiunti a Bar senza rompere il codice che usa Foo, anche se tali membri corrispondono ai nomi delle estensioni di Foo. Peccato che io non conosca alcun modo per far sì che il linguaggio lo supporti. – supercat
@supercat: dovresti dare un'occhiata a [Scala implicits] (http://www.artima.com/weblogs/viewpost.jsp?thread=179766) –