Asp.net mvc 2 &引用;行动“;在Asp.NETMVC中

Asp.net mvc 2 &引用;行动“;在Asp.NETMVC中,asp.net-mvc-2,Asp.net Mvc 2,我知道我在问一个奇怪的问题,但我不得不问这个问题,因为这个问题已经在我的脑海里很久了 当我们在创建新的“Actionresult”时,即当我们 在public ActionResult YouAction(){…}第一行中写入'ActionResult' 出现的IntelliSense帮助是 “Action”,我的问题是 Asp.Net MVC中的“操作”,在 我作为Asp.netmvcdeveloper的10个月职业生涯我没有使用过它,但是 看看它的名字“Action”,我认为它只与MVC有关

我知道我在问一个奇怪的问题,但我不得不问这个问题,因为这个问题已经在我的脑海里很久了

当我们在创建新的
“Actionresult”
时,即当我们

public ActionResult YouAction(){…}
第一行中写入
'ActionResult'

出现的IntelliSense帮助是
“Action”
,我的问题是

Asp.Net MVC中的“操作”
,在 我作为
Asp.netmvc
developer的10个月职业生涯我没有使用过它,但是

看看它的名字“Action”,我认为它只与MVC有关

谢谢

是来自System.Action命名空间的委托

MSDN:封装具有单个参数且不返回值的方法

它不是MVC的内置操作结果类型之一

  • 查看结果
  • 副总统
  • 重定向结果
  • 重定向路由结果
  • 内容结果
  • JsonResult
  • JavaScriptResult
  • 文件结果
  • 空结果
已更新

现在为什么是行动代表?请浏览这篇文章。 An(及其同级)是.NET framework中预定义的类型。它的存在是为了为不返回值的函数调用提供标准接口。调用了一个类
委托
类型,它返回一个
TResult
泛型类型

这些代理有两种风格,通用和非通用。非泛型
操作
不接受任何参数,并返回
void
。泛型类型作为参数的泛型(但也不返回值)

这同样适用于
Func
,但所有版本都是通用的。它可以并返回泛型类型

在“过去”使用委托时,您必须首先定义
委托
,然后使用它。像这样:

public delegate void ShowValue();
然后像这样使用它

ShowValue showMethod = testName.DisplayToWindow;
showMethod();
但有了行动,你只需要做到:

Action showMethod = delegate() { testName.DisplayToWindow();} ;
showMethod();
另一件好事是,匿名lambda的本质是
Action
Func
兼容,因此您可以这样做:

Action showMethod = () => testName.DisplayToWindow();
showMethod();

这非常方便,但更重要的是,Microsoft创建了这些
delegate
类型,以便他们自己的框架能够使用标准接口。您也可以在自己的代码中利用这些类型。

操作
和出现在关联菜单中的
操作
都是委托。正如@AshwiniVerma所写,它们与
ActionMethods
毫无共同之处。@Ghukas…thankzz..如需评论..请回答以下问题..Action与MVC无关,它们是.NET framework基类的一部分,可用于任何.NET环境(Windows窗体、控制台应用程序、WebForms、MVC等)有关操作的信息,请参阅本文