デリゲートは、メソッドを指すタイプセーフなポインターです。これはメソッド参照をカプセル化し、メソッドをパラメータとして渡すことを許可し、型の安全性を保証して、メソッドのシグネチャを強制的にデリゲート定義と一致させます。
#デリゲートの本質
デリゲートは、本質的にはメソッドを指すタイプセーフなポインターです。詳細な説明
C# では、デリゲートはメソッドへの参照をカプセル化するクラスです。これにより、メソッドをパラメータとして他のメソッドに渡し、コールバック関数として使用できるようになります。デリゲートは、メソッド シグネチャがデリゲート定義と一致することを強制するため、型安全性も提供します。 デリゲートの構文は次のとおりです:<code class="c#">public delegate <return type> <delegate name>(<parameter list>);</code>ここで:
は、デリゲートの戻り値の型です。デリゲートメソッド。
はデリゲートの名前です。
はデリゲートメソッドのパラメータリストです。
PrintMessage という名前のメソッドを指すデリゲートを作成するには、次のように記述できます。
<code class="c#">public delegate void MessagePrinter(string message);</code>デリゲートを使用して、メソッドを他のメソッドに渡されるパラメータ。例:
<code class="c#">public void PrintMessageWithDelegate(MessagePrinter printer, string message) { printer(message); }</code>この例では、
PrintMessageWithDelegate メソッドは
MessagePrinter デリゲートをパラメーターとして受け取り、デリゲートが指すメソッドを呼び出してメッセージを印刷します。
<code class="c#">MessagePrinter printer = (message) => Console.WriteLine(message);</code>この例では、ラムダ式は、指定されたメッセージをコンソールに出力する匿名メソッドを指すデリゲートを作成します。
以上がC# 委任の本質とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。