重载匿名函数
我仍然对委托很感兴趣,我很好奇:是否可以重载匿名函数?
这样:
delegate void Output(string x, int y);
支持:
Output show = (x, y) => Console.WriteLine("{0}: {1}", x.ToString(), y.ToString());
和:
delegate void Output(string x, string y);
允许:
show( "ABC", "EFG" );
和:
show( "ABC", 123 );
Still wrapping my head around Delegates and I'm curious: Is it possible to overload anonymous functions?
Such that:
delegate void Output(string x, int y);
Supports:
Output show = (x, y) => Console.WriteLine("{0}: {1}", x.ToString(), y.ToString());
And:
delegate void Output(string x, string y);
Allowing:
show( "ABC", "EFG" );
And:
show( "ABC", 123 );
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您也许可以使用通用委托。
You can probably use Generic Delegates.
不,你不能让委托超载。
这是一个类型,
将其更改为:
将重新定义它。
这有点像定义两个具有相同名称的不同类(在同一名称空间中)。
No you can't overload a delegate like that.
This is a type
changing it to this:
would redefine it.
It would be kinda like defining two different classes with the same name (in the same namespace).