简单的委托只是指向一个函数,稍后当我们调用委托,然后映射函数被调用。使用简单委托
我很难使用delegate.so我只想知道为什么应该使用简单的委托。这里我给出一个使用代表的示例代码。
using System;
using System.Windows.Forms;
delegate void DisplayMessage(string message);
public class TestCustomDelegate
{
public static void Main()
{
DisplayMessage messageTarget;
if (Environment.GetCommandLineArgs().Length > 1)
messageTarget = ShowWindowsMessage;
else
messageTarget = Console.WriteLine;
messageTarget("Hello, World!");
}
private static void ShowWindowsMessage(string message)
{
MessageBox.Show(message);
}
}
在上面的例子中为代表刚点的功能,并且当我们调用委托然后一个函数被调用,其被映射。这里我们可以直接调用该函数,那么为什么应该使用委托。请详细说明代表的优势。在我上面的程序中,我们可以直接调用ShowWindowsMessage函数,那里不需要委托。
感谢
这通常被称为策略模式 - 使用委托的完美例子:) – MattDavey 2011-04-05 08:18:07