我在C#上有一个.net程序集。我同时拥有:二进制文件和没有记录器的源代码。
我只需要插入将初始化特定记录器的属性即可。然后,我需要在所有方法中引入记录器调用程序。第一种方法-手动写入属性及其调用。第二种方法是编写另一个将自动执行的类\方法(我想是在同一程序集中)。

可能吗?有什么建议么?

我认为这是可能的,因为这是面试中的问题之一。但是没有证据表明这是可能的,他们希望听到“不,手动执行此操作”。

最佳答案

这就是我们所谓的“跨领域关注”。日志记录跨越了应用程序的许多方面。

Microsoft Enterprise Library中有一些功能可以照顾到它。您需要的部分是Policy Injection库。然后,您可以在配置中指定要匹配的方法(基于方法名称/结构)和要调用的函数。通过这种方式,您可以将日志记录作为应用程序的横切关注点,而不是必须手动编码到每种方法中的日志记录。

关于c# - 如何以编程方式将代码插入汇编,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8588431/

10-12 07:40
查看更多