【发布时间】:2016-12-12 12:02:36
【问题描述】:
我正在尝试提出一种方法,使(静态或实例)方法调用可以被动态代理拦截。我想将它实现为 c# 扩展方法,但坚持如何为静态方法生成动态代理。
一些用法:
Repository.GetAll<T>().CacheForMinutes(10);
Repository.GetAll<T>().LogWhenErrorOccurs();
//or
var repo = new Repository();
repo.GetAll<T>().CacheForMinutes(10);
repo.GetAll<T>().LogWhenErrorOccurs();
我对任何库(linfu、castle.dynamic proxy 2 等)开放。
谢谢!
【问题讨论】:
-
不要。只是避免静态类。坚持使用接口抽象出来的实例类,你会更开心。哦,你可以拦截那些。
标签: c# aop castle-dynamicproxy