将函数作为参数传递
本文关键字:参数传递 函数 | 更新日期: 2023-09-27 18:15:20
我有一个函数:
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()
?如:
private static PrivateMessage GetPM(int messageID)
对输出进行换行和类型转换是最简单的方法。
var pm = cacheObj.SetIfNotExists(() => GetPM(1));
并将GetPM
头改为:
private static PrivateMessage GetPM(int messageID)