我正在学习代表,并认为我可能已经找到了一个用途。基本上我所拥有的是一系列字符串属性,它们具有最小值和最大值,如下所示:
string weightInvalid(min as int32, max as int32)
有几条这样的消息,所有消息都具有唯一的消息,但都共享相同的最小值和最大值签名。我认为可以在这里使用委托,但我将如何去做呢?它真的会帮助我查看一些代码,这样我就可以掌握这个委托的东西。
在 C# 上:
delegate string weightInvalid(int min, int max);
string MyWeightInvalid(int min, int max)
{
return "";
}
string SomeMethod()
{
weightInvalid myFunc = new weightInvalid(MyWeightInvalid);
return myFunc(0, 1);
}
下面是一个简单的控制台应用程序示例,可能会有所帮助...
public delegate string foo(int min, int max);
class Program
{
static void Main(string[] args)
{
CallFoo(foo1);
CallFoo(foo2);
CallFoo(foo3);
Console.WriteLine("Press ENTER to exit...");
Console.ReadLine();
}
private static void CallFoo(foo foo)
{
Console.WriteLine(foo(1, 2));
}
private static string foo1(int min, int max)
{
return "foo1";
}
private static string foo2(int min, int max)
{
return "foo2";
}
private static string foo3(int min, int max)
{
return "foo3";
}