+-

我承认它们可能很有用,但是当我真的希望将func作为方法的参数时,我正试图解决这个问题.
public void WeirdMethod(int myNumber, func op);
在设计和功能方面,有人可以向我解释一些我想要考虑的情况吗? “可重用性”的理论对我没有多大帮助.真实场景最好.帮我想想你好哈哈.
以下是我所知道的一切:
>这将允许我通过代表
>这将允许我使用lambda表达式.
叶氏…
注意:
我知道这个帖子会被关闭,因为没有“正确”的答案.但我认为刚才为我点击它的是“延迟计算”.
最佳答案
一般情况是您必须将延迟计算传递给您的方法.当计算某些东西很昂贵时(例如,当您缓存某些内容时),这非常有用.
public Guid GetFromCache(string key, Func<Guid> make) {
Guid res;
if (!cache.TryGetValue(key, out res)) {
res = make();
cache.Add(key, res);
}
return res;
}
现在您可以按如下方式调用此方法:
Guid guid = GetFromCache(myKey, () => database.MakeNewGuid());
点击查看更多相关文章
转载注明原文:c# – 为什么我要包含一个Func / Func作为参数? - 乐贴网