c# - C#中的return()是什么意思?
问题描述
我有以下方法:
protected Func<T> GetMenuItems<T>() where T : IMenuItem, new()
{
return () => _menuItems.GetMenuItem<T>();
}
这是我第一次看到这种语法:return () => _menuItems.GetMenuItem<T>()
这些括号是干什么用的,它们有什么作用?
解决方案
它返回整个表达式() => _menuItems.GetMenuItem<T>();
,它是一个lambda表示法:
一个不带参数的函数()
(想想Foo()
),返回_menuItems.GetMenuItem<T>()
.
以这种方式返回很有用,例如执行“延迟执行”:函数 GetMenuItem 尚未执行。然而,Func<T>
返回的具有执行此内部函数的所有信息。
推荐阅读
- ios - 如何使用联系人 UI 快速打开现有联系人的编辑联系人 UI
- windows - 批处理文件 - 设置参数值,然后传递给 exe
- r - 在 R rethinking 包中,嵌套索引的语法是什么?
- apache-kafka - 如何增加卡夫卡消费者没有
- android - 刷卡时关闭卡片视图
- java - Java 正则表达式仅返回单个匹配项
- java - 当我为 SAML2.0 生成元数据并在 ADFS 上配置它时,它的有效期只有 3 个月
- r - R在使用read_excel导入期间更改excel值
- javascript - 无需单击即可在 ReactJS 中打开模态
- java - Java中的文件阅读器