相关疑难解决方法(0)

C#(或其他语言)中代理人的使用

我一直想知道代表们如何有用,我们为什么要使用它们?除了类型安全和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 ... {}".您是否还有其他示例来证明代表的有用性.

谢谢!

.net c# delegates

7
推荐指数
3
解决办法
3998
查看次数

标签 统计

.net ×1

c# ×1

delegates ×1