不带参数的 void 函数
有一些类似的问题,但不完全像我的。
对于没有返回值(即 void)且没有参数的函数,是否存在等效的 Func?
相关问题是 Func 不返回任何内容? 但这并不能回答 void 类型。
(我需要它来请求从我的视图模型到我的视图的操作)。
There are some similar questions but not exactly like mine.
Is there a Func equivalent for a function without a return value (i.e. void) and without parameters?
The related question is Func not returning anything?
but this does not answer for a void type.
(I need it to request actions from my view model to my view).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你的措辞令人困惑。您可能的意思是“没有返回类型并且没有参数的函数”。只是System.Action。
从你的评论来看:
这表明存在误解。 Action 委托中的 T 是一个输入。 void 是输出。 Action 委托本质上是返回 void 的委托。 T 是它可以作用的输入类型,然后您将通过参数提供参数。
无论如何,正如这个答案和其他答案所示,您可以拥有一个没有任何 T 的 Action 委托,即不接受任何输入的委托。
Your wording is confusing. You perhaps mean "a function without a return type and no parameters." There is simply System.Action.
From your comment:
This indicates a misunderstanding. The T in the Action delegate is an input. The void is the output. An Action delegate is inherently a delegate returning void. The T is the type of input it can act upon, the parameters you would then supply with arguments.
At any rate, as this answer and others show, you can have an Action delegate without any T, a delegate that takes no inputs.
是的,
Action
有不同的重载,它们采用不同数量的输入参数并具有void
返回类型。第一行是您要寻找的内容。
较新的框架版本添加了具有更多参数的重载。
最大参数数量:
操作始终具有
void
返回类型。void
返回类型不需要也不能指定为泛型类型参数。相比之下,Func
委托定义“真实”返回类型,并且始终至少有一个返回类型的泛型类型参数。请参阅此处.NET Framework 4.0 向泛型类型参数添加了
in
和out
修饰符,以实现逆变和协变。请参阅:泛型中的协变和逆变。示例:Yes, there are different overloads of
Action
taking a different number of input parameters and having avoid
return type.The first line is what you are looking for.
Newer Framework versions have added overloads with even more arguments.
Maximum number of arguments:
Actions have always a
void
return type. Avoid
return type need not and cannot be specified as generic type parameter. By contrast, theFunc
delegates define "real" return types and have always at least one generic type parameter for the return type. Refer here.NET Framework 4.0 has added
in
andout
modifiers to the generic type parameters for contravariance and covariance. See: Covariance and Contravariance in Generics. Examples:您正在寻找的是一个操作。它不带任何参数,也不返回任何值。
What you're looking for is an Action. It takes no parameters, and returns no value.