c# - 重载匿名函数

标签 c# anonymous-function overloading

我的脑袋仍然围绕着委托(delegate),我很好奇:是否可以重载匿名函数?

这样:

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 );

最佳答案

不,你不能像那样重载委托(delegate)。

这是一个类型

delegate void Output(string x, int y);

改成这样:

delegate void Output(string x, string y);

会重新定义它。

这有点像用相同的名称(在相同的命名空间中)定义两个不同的类。

关于c# - 重载匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2656176/

相关文章:

javascript - 在 AngularJS 中如何确保数据在使用之前先加载?

c++ - 在模板特化和重载 C++ 方面没有得到预期的歧义

c++ - 为什么方法重载或枚举标志定义会触发 gcc7.2 编译器警告?

types - Kotlin赋值运算符重载和类型转换

c# - 在运行时动态创建具有与其所有者相同类型的字段的类型

c# - 如何正确解决带有重复名称标签的MVVM脚手架问题? (ASP核心2.2)

c# - 如何将文件中的 "0x1B"替换为空,即删除

c# - 总安装系统内存 - 跨平台解决方案

matlab - 递归匿名函数Matlab

haskell - 使用匿名函数折叠