대리자는 메서드를 가리키는 형식이 안전한 포인터입니다. 메서드 참조를 캡슐화하고, 메서드가 매개 변수로 전달될 수 있도록 하며, 형식 안전성을 보장하여 메서드 시그니처가 대리자 정의와 일치하도록 합니다.
대리자의 특성
대리자는 기본적으로 메서드를 가리키는 형식이 안전한 포인터입니다.
자세한 설명
C#에서 대리자는 메서드에 대한 참조를 캡슐화하는 클래스입니다. 이를 통해 메소드를 다른 메소드에 매개변수로 전달하고 콜백 함수로 사용할 수 있습니다. 또한 대리자는 메서드 시그니처가 대리자 정의와 일치하도록 강제하기 때문에 형식 안전성을 제공합니다.
대리자의 구문은 다음과 같습니다.
<code class="c#">public delegate <return type> <delegate name>(<parameter list>);</code>
위치:
<return type>
은 대리자 메서드의 반환 유형입니다. <return type>
是委托方法的返回类型。<delegate name>
是委托的名称。<parameter list>
是委托方法的参数列表。例如,要创建一个委托,指向一个名为 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
<대리자 이름>
은 대리인의 이름입니다.
은 대리자 메서드의 매개변수 목록입니다. 예를 들어 PrintMessage
라는 메서드를 가리키는 대리자를 생성하려면 다음과 같이 작성할 수 있습니다.
<code class="c#">MessagePrinter printer = (message) => Console.WriteLine(message);</code>
대리자를 사용하면 메서드를 다른 메서드에 매개 변수로 전달할 수 있습니다. 예:
rrreee🎜이 예에서PrintMessageWithDelegate
메서드는 MessagePrinter
대리자를 매개 변수로 받아들이고 대리자가 가리키는 메서드를 호출하여 메시지를 인쇄합니다. 🎜🎜델리게이트는 람다 표현식을 사용하여 익명 메서드를 생성할 수도 있습니다. 예: 🎜rrreee🎜 이 예에서 람다 식은 지정된 메시지를 콘솔에 인쇄하는 익명 메서드를 가리키는 대리자를 만듭니다. 🎜위 내용은 C# 위임의 본질은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!