【发布时间】:2011-07-24 19:07:45
【问题描述】:
如何在编译前在现有 C# 代码(不是 MSIL)中注入新代码,但不更改 .cs 文件?
【问题讨论】:
-
使用部分方法/类无济于事?
-
不,它没有帮助。我需要在类的不同属性中注入很多类似的代码。
标签: c# build compilation inject
如何在编译前在现有 C# 代码(不是 MSIL)中注入新代码,但不更改 .cs 文件?
【问题讨论】:
标签: c# build compilation inject
你可以看看PostSharp。
【讨论】:
您可以使用Text Template Transformation Toolkit (T4) 来处理这种情况。
【讨论】:
使用写入partial class 文件的 T4 模板。这是 Visual Studio 使用的模式——自动生成的代码放在部分文件中,而您的代码放在主 .cs 文件中。
【讨论】:
您可以使用Fody 或Weavlyn 与MSIL injection "IL Weaving" 一起使用
【讨论】: