string CreateCacheKey(delegate methodDelegate)
{
// return cache key based on the input parameters of the method passed to this
}
User[] GetAll(short id, string name)
{
CreateCacheKey (this.GetAll);
}
如何只通过一个通用委托来获取方法的输入参数?
我认为唯一的选择应该是反思。
谢谢,
答案 0 :(得分:1)
委托有一个.Method(假设它是一个委托,而不是复合委托 - 你可能需要调用GetInvocationList)。
从方法中,您可以查询GetParameters()。
答案 1 :(得分:0)
您可以指定具有固定参数的delegate
,还是使用通用委托类型(delegate
)而不是常规GetAllHandler<T>
?
您能否解释一下CreateCacheKey
正在做什么以及为什么?也许是一个现实世界的例子?