C#基础之匿名方法实例教程
2017-08-18 10:35
711 查看
class Program { delegate void IntDelegate(int x); delegate void StringDelegate(string y); static void Output(IntDelegate id) { } static void Output(StringDelegate sd) { } static void Main(string[] args) { /* * ERROR: The call is ambiguous between * Output(IntDelegate) * and * Output(StringDelegate) */ Output(delegate { }); } }
View Code
上面的代码没法编译通过,因为编译器不知道应该将delegate { }这一匿名方法还原为由IntDelegate指代的函数,还是还原为由StringDelegate指代的函数。此时只能显式给定参数列表,以便让编译器知道,我们究竟是想调用哪个Output函数。
希望本文所述对大家的C#程序设计有所帮助
相关文章推荐
- C#基础之匿名方法实例教程
- C#基础之匿名方法实例教程
- [C# 基础知识系列]专题十一:匿名方法解析 推荐
- C#虚方法的声明和使用实例教程
- 【转】[C# 基础知识系列]专题十一:匿名方法解析
- C#基础之Lambda表达式用法实例教程
- C#基础:通过一个实例来学习IFormattable接口,扩展方法
- C#基础:委托、匿名方法、事件
- C#基础之委托用法实例教程
- C#警惕匿名方法造成的变量共享实例分析
- C#基础精华07(委托事件,委托的使用,匿名方法)
- C#基础:匿名方法
- Android基础入门教程——5.2.1 Fragment实例精讲——底部导航栏的实现(方法1)
- C#模板方法模式(Template Method Pattern)实例教程
- C#基础之匿名方法
- [C#基础教程之]C# 实现多线程的同步方法详解
- Android基础入门教程——5.2.2 Fragment实例精讲——底部导航栏的实现(方法2)
- C#委托基础7——匿名方法
- C#基础之异步调用实例教程
- [C# 基础知识系列]专题十一:匿名方法解析