簡單的委託只是指向一個函數,稍後當我們調用委託,然後映射函數被調用。使用簡單委託
我很難使用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