1

有没有办法做这样的事情:在 Groovy 中是否有办法装饰每个类以添加跟踪?但在 C# 中。由于 C# 不支持 metaClass,我不知道该怎么做。如果我能让这个解决方案发挥作用,那么我将使用反射遍历每个类并使其实现接口。

谢谢,

4

1 回答 1

2

是的,您可以使用动态代理。

你为什么不看看Castle DynamicProxy?http://www.castleproject.org/projects/dynamicproxy/

或者 PostSharp,如果您想以更清洁的方式利用 AOP:

http://www.sharpcrafters.com/postsharp/documentation

更新

OP在一些评论中说:

啊,我实际上是在使用 PostSharp 来输出调用了哪些方法以及何时调用。我试图避免做的是为我的代码中的每个类添加一个属性。所以我想我可以像这样创建一个接口: [MyAttribute] public interface IDebug {} 并让我的类在运行时实现这个接口。

PostSharp 支持汇编级方面:[assembly:YourAspect]. 稍后,在您的方面,您可以检查调用了哪个方法以及属于哪个对象,并根据它来完成整个工作。

于 2013-02-08T09:40:13.783 回答