我有一个功能:
private static PrivateMessage GetPM()
{
using (var db = new DBContext())
{
var q = CompiledQueries.GetPMByID(db, messageID);
if (q == null) return null;
return new PrivateMessage(q);
}
}
我希望将此函数作为参数传递:
var pm = cacheObj.SetIfNotExists(GetPM);
SetIfNotExists
定义为:
public T SetIfNotExists<T>(Func<T> getCachableObjectFunction)
我需要修改哪些内容才能将messageID
作为GetPM()
中的参数传递? EG:
private static PrivateMessage GetPM(int messageID)
答案 0 :(得分:2)
包装和类型转换输出是最简单的方法。
var pm = cacheObj.SetIfNotExists(() => GetPM(1));
将GetPM
标题更改为:
private static PrivateMessage GetPM(int messageID)