您的位置:首页 > 编程语言 > C#

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#程序设计有所帮助
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: