我正在尝试学习 C# 代表。编译这段代码时,我在主题行中收到此错误消息。
无法将类型“int”隐式转换为“Foo.Bar.Delegates.Program.ParseIntDelegate”
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Foo.Bar.Delegates
{
class Program
{
private delegate int ParseIntDelegate();
private static int Parse(string x)
{
return int.Parse(x);
}
static void Main()
{
string x = "40";
int y = Parse(x); //The method I want to point the delegate to
ParseIntDelegate firstParseIntMethod = Parse(x);
//generates complier error: cannot implicity convert type int
//to 'Foo.Bar.Delegates.Program.ParseIntDelegate'
ParseIntDelegate secondParseIntMethod = int.Parse(x); //Same error
Console.WriteLine("Integer is {0}", firstParseIntMethod());
}
}
}
所以我被困住了,直到我明白我做错了什么。如果有人可以帮助我解决这个问题,我将非常感激。