扩展C#语言?

基本上我想知道的是,是否有任何方法可以在基于.net的语言中添加新的“语句”? 我正在寻找的一个例子就是引入一个public class MyClass decoratorOf ClassWithLotsOfMethods并在预编译时将其更改为普通类,默认情况下会覆盖所有内容,但我定义的方法。

另一个例子是.net 3.5自动属性或扩展方法等

这只是为了好玩,而不是我真的想要这样做,只是好奇,如果可能的话

谢谢! 西巴

C#不允许这样做。 您当然可以使用后编译器(如CciSharp )调整生成的IL。

一些允许扩展的替代.NET语言是Nemerle和Boo 。

内置任何东西都没有。

您当然可以使用PreProcessor,但这不会让您受欢迎。

不是我知道的,但看看PostSharp和T4模板 ,看看是否可以解决你的问题:)

相关: 扩展Mono C#编译器:有没有任何文档或先例?