我有这堂课:
public class MyClass {
public string GetText() {
return "text";
}
}
我想要的是有一个通用的缓存方法。如果调用 GetText,我想拦截这个调用,比如;
public T MethodWasCalled<T>(MethodInfo method) {
if(Cache.Contains(method.Name)) {
return Cache[method.Name] as T;
}
else {
T result = method.Invoke();
Cache.Add(method.Name, result);
return result;
}
}
我希望上面解释了我想要完成的事情。对此有什么好的策略?