0

假设在 .NET/C# 中,我在命名空间中有一堆静态类。我不想手动更改代码,但我想让它们在输入函数时都调用特定的函数。如果我可以传入类/函数名称但不是必需的,那就太好了。我该怎么做?

4

2 回答 2

2

You are looking for something called Aspect Oriented Programming or AOP.

Try the PostSharp library

于 2013-02-03T03:09:43.423 回答
1

如果您想在不修改源代码的情况下执行此操作,您将考虑直接修改 IL。事实上,“PostSharp”本身确实重写了您的程序集 IL,许多面向方面的库也是如此。

从理论上讲,您可以自己重写您的 IL,(并且像Cecil这样的项目可能会有所帮助)而不修改源代码 - 但是,我怀疑这是否值得。

于 2013-02-03T07:25:13.933 回答