Action 是什么意思?意思是?

发布于 2024-11-17 13:07:09 字数 363 浏览 1 评论 0 原文

我刚刚在Rx 框架,一个特殊的签名引起了我的注意:

Scheduler.schedule(this IScheduler, Action<Action>)

在 23:55,Bart de Smet 说:

最早的版本是Action of Action

如果 Action 是参数化类型,它怎么会再次在尖括号内出现非参数化呢?难道不是必须无限次地Action>>,这显然是不可能的吗?

I just saw a brand-new video on the Rx framework, and one particular signature caught my eye:

Scheduler.schedule(this IScheduler, Action<Action>)

At 23:55, Bart de Smet says:

The earliest version would be Action of Action.

If Action is a parameterized type, how can it appear unparameterized inside the angle brackets again? Wouldn't it have to be Action<Action<Action<...>>> ad infinitum, which is obviously impossible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

ぺ禁宫浮华殁 2024-11-24 13:07:09

Action 描述采用 T 类型的单个参数的委托。Action 描述不采用任何参数的委托。

请参阅 http://msdn.microsoft.com/en-us/library/系统.action.aspx

Action<T> describes a delegate that takes a single parameter of type T. Action describes a delegate that takes no parameters.

See http://msdn.microsoft.com/en-us/library/system.action.aspx

生活了然无味 2024-11-24 13:07:09

Action 有几个重载。一种是非泛型的,其他的则采用一个、两个、三个等类型参数。假设它们有不同的名称,单参数版本称为 Action1,零参数(非泛型)称为 Action0,那么示例将为 动作1<动作0>

Action has several overloads. One is non-generic, the others take one, two, three, etc. type parameters. Suppose they had different names, the one-argument version being called Action1, and the zero-argument (non-generic) being called Action0, then the example would be Action1<Action0>.

故人爱我别走 2024-11-24 13:07:09

来自 MSDN:

操作示例

Action showMethod = () => { Console.WriteLine("Line"); };

showMethod();

行动示例

Action<int> showMethod = (i) => { Console.WriteLine("Line {0}", i); };

showMethod(1);

From MSDN:

Action example

Action showMethod = () => { Console.WriteLine("Line"); };

showMethod();

Action<T> example

Action<int> showMethod = (i) => { Console.WriteLine("Line {0}", i); };

showMethod(1);
jJeQQOZ5 2024-11-24 13:07:09

Action 有一个带有签名的非泛型版本:

public delegate void Action();

所以它是一个采用 void 类型的 Action。看起来很有趣,但完全有效。

Action has a non-generic version with the signature:

public delegate void Action();

So it is an Action that takes an Action of type void. Looks funny, but is perfectly valid.

皇甫轩 2024-11-24 13:07:09

默认参数似乎是这里的简单解决方案。

Default parameter seems like the easy solution here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文