Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有人能解释一下´;这段代码中发生了什么?_C#_Asp.net Mvc - Fatal编程技术网

C# 有人能解释一下´;这段代码中发生了什么?

C# 有人能解释一下´;这段代码中发生了什么?,c#,asp.net-mvc,C#,Asp.net Mvc,我正在使用ASP.NETMVC,并阅读了一些代码,下面的语法对我来说是新的。有人能给我解释一下它是怎么工作的吗 ViewDataInfo vdi = viewData.GetViewDataInfo(expression); Func<object> modelAccessor = null; modelAccessor = () => vdi.Value; ViewDataInfo vdi=viewData.GetViewDataInfo(表达式); Func model

我正在使用ASP.NETMVC,并阅读了一些代码,下面的语法对我来说是新的。有人能给我解释一下它是怎么工作的吗

ViewDataInfo vdi = viewData.GetViewDataInfo(expression);
Func<object> modelAccessor = null;

modelAccessor = () => vdi.Value;
ViewDataInfo vdi=viewData.GetViewDataInfo(表达式);
Func modelAccessor=null;
modelacessor=()=>vdi.Value;

此行将
ViewDataInfo
设置为
vdi
变量:

ViewDataInfo vdi = viewData.GetViewDataInfo(expression);
Func<object> modelAccessor = null;
此行初始化空变量:

ViewDataInfo vdi = viewData.GetViewDataInfo(expression);
Func<object> modelAccessor = null;
其中,下面的代码表示不带参数并返回
对象
(如
Func
声明的泛型类型中所指定的):

获取使用参数
表达式调用的
GetViewDataInfo
方法的结果

Func<object> modelAccessor = null;
modelAccessor = () => vdi.Value;
Func modelacessor=null;
modelacessor=()=>vdi.Value;
在lambda函数视图中创建和初始化委托(函数指针)。在以后的代码中调用
modelacessor()
,它将返回
vdi.Value

()
-这意味着函数不检索任何参数。
Func
-函数将返回一个
对象

vdi.Value
-是
{return vdi.Value;}


关于lambda函数。

您询问的是哪部分?
Func<object> modelAccessor = null;
modelAccessor = () => vdi.Value;