我一直想知道代表们如何有用,我们为什么要使用它们?除了类型安全和Visual Studio文档中的所有这些优点之外,代表的真实用途是什么.
我已经找到了一个,它非常有针对性.
using System;
namespace HelloNamespace {
class Greetings{
public static void DisplayEnglish() {
Console.WriteLine("Hello, world!");
}
public static void DisplayItalian() {
Console.WriteLine("Ciao, mondo!");
}
public static void DisplaySpanish() {
Console.WriteLine("Hola, imundo!");
}
}
delegate void delGreeting();
class HelloWorld {
static void Main(string [] args) {
int iChoice=int.Parse(args[0]);
delGreeting [] arrayofGreetings={
new delGreeting(Greetings.DisplayEnglish),
new delGreeting(Greetings.DisplayItalian),
new delGreeting(Greetings.DisplaySpanish)};
arrayofGreetings[iChoice-1]();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但这并没有完全显示使用委托的优势,而不是一个条件"If ... {}"来解析参数并运行方法.
有谁知道为什么在这里使用委托更好,而不是"if ... {}".您是否还有其他示例来证明代表的有用性.
谢谢!