単純なデリゲートは関数をポイントし、後でデリゲートを呼び出すとマップされた関数が呼び出されます。単純なデリゲートの使用
私はほとんど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