Delegate Delegate Delegate Delegate Class

정의

대리자는 정적 메서드 또는 클래스 인스턴스 및 해당 클래스의 인스턴스 메서드를 참조하는 데이터 구조입니다.Represents a delegate, which is a data structure that refers to a static method or to a class instance and an instance method of that class.

public ref class Delegate abstract : ICloneable, System::Runtime::Serialization::ISerializable
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDual)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public abstract class Delegate : ICloneable, System.Runtime.Serialization.ISerializable
type Delegate = class
    interface ICloneable
    interface ISerializable
Public MustInherit Class Delegate
Implements ICloneable, ISerializable
상속
DelegateDelegateDelegateDelegate
파생
특성
구현

예제

다음 예제에서는 명명 된 대리자를 정의 하는 방법을 보여 줍니다 myMethodDelegate합니다.The following example shows how to define a delegate named myMethodDelegate. 이 대리자의 인스턴스를 중첩 된의 정적 메서드와 인스턴스 메서드를 만들 mySampleClass 클래스입니다.Instances of this delegate are created for an instance method and a static method of the nested mySampleClass class. 인스턴스 메서드에 대 한 대리자의 인스턴스가 필요 mySampleClass합니다.The delegate for the instance method requires an instance of mySampleClass. 합니다 mySampleClass 인스턴스는 명명 된 변수에 저장 mySC합니다.The mySampleClass instance is saved in a variable named mySC.

using namespace System;
delegate String^ myMethodDelegate( // Declares a delegate for a method that takes in an int and returns a String.
int myInt );

// Defines some methods to which the delegate can point.
ref class mySampleClass
{
public:

   // Defines an instance method.
   String^ myStringMethod( int myInt )
   {
      if ( myInt > 0 )
            return ("positive");

      if ( myInt < 0 )
            return ("negative");

      return ("zero");
   }


   // Defines a static method.
   static String^ mySignMethod( int myInt )
   {
      if ( myInt > 0 )
            return ("+");

      if ( myInt < 0 )
            return ("-");

      return ("");
   }

};

int main()
{
   
   // Creates one delegate for each method. For the instance method, an 
   // instance (mySC) must be supplied. For the static method, only the
   // method name is needed.
   mySampleClass^ mySC = gcnew mySampleClass;
   myMethodDelegate^ myD1 = gcnew myMethodDelegate( mySC, &mySampleClass::myStringMethod );
   myMethodDelegate^ myD2 = gcnew myMethodDelegate( mySampleClass::mySignMethod );
   
   // Invokes the delegates.
   Console::WriteLine( "{0} is {1}; use the sign \"{2}\".", 5, myD1( 5 ), myD2( 5 ) );
   Console::WriteLine( "{0} is {1}; use the sign \"{2}\".",  -3, myD1(  -3 ), myD2(  -3 ) );
   Console::WriteLine( "{0} is {1}; use the sign \"{2}\".", 0, myD1( 0 ), myD2( 0 ) );
}

/*
This code produces the following output:

5 is positive; use the sign "+".
-3 is negative; use the sign "-".
0 is zero; use the sign "".
*/
using System;
public class SamplesDelegate  {

   // Declares a delegate for a method that takes in an int and returns a String.
   public delegate String myMethodDelegate( int myInt );

   // Defines some methods to which the delegate can point.
   public class mySampleClass  {

      // Defines an instance method.
      public String myStringMethod ( int myInt )  {
         if ( myInt > 0 )
            return( "positive" );
         if ( myInt < 0 )
            return( "negative" );
         return ( "zero" );
      }

      // Defines a static method.
      public static String mySignMethod ( int myInt )  {
         if ( myInt > 0 )
            return( "+" );
         if ( myInt < 0 )
            return( "-" );
         return ( "" );
      }
   }

   public static void Main()  {

      // Creates one delegate for each method. For the instance method, an
      // instance (mySC) must be supplied. For the static method, use the
      // class name.
      mySampleClass mySC = new mySampleClass();
      myMethodDelegate myD1 = new myMethodDelegate( mySC.myStringMethod );
      myMethodDelegate myD2 = new myMethodDelegate( mySampleClass.mySignMethod );

      // Invokes the delegates.
      Console.WriteLine( "{0} is {1}; use the sign \"{2}\".", 5, myD1( 5 ), myD2( 5 ) );
      Console.WriteLine( "{0} is {1}; use the sign \"{2}\".", -3, myD1( -3 ), myD2( -3 ) );
      Console.WriteLine( "{0} is {1}; use the sign \"{2}\".", 0, myD1( 0 ), myD2( 0 ) );
   }

}


/*
This code produces the following output:
 
5 is positive; use the sign "+".
-3 is negative; use the sign "-".
0 is zero; use the sign "".
*/ 

Public Class SamplesDelegate

   ' Declares a delegate for a method that takes in an int and returns a String.
   Delegate Function myMethodDelegate(myInt As Integer) As [String]

   ' Defines some methods to which the delegate can point.
   Public Class mySampleClass

      ' Defines an instance method.
      Public Function myStringMethod(myInt As Integer) As [String]
         If myInt > 0 Then
            Return "positive"
         End If
         If myInt < 0 Then
            Return "negative"
         End If
         Return "zero"
      End Function 'myStringMethod

      ' Defines a static method.
      Public Shared Function mySignMethod(myInt As Integer) As [String]
         If myInt > 0 Then
            Return "+"
         End If
         If myInt < 0 Then
            Return "-"
         End If
         Return ""
      End Function 'mySignMethod
   End Class 'mySampleClass

   Public Shared Sub Main()

      ' Creates one delegate for each method. For the instance method, an
      ' instance (mySC) must be supplied. For the Shared method, the
      ' method name is qualified by the class name.
      Dim mySC As New mySampleClass()
      Dim myD1 As New myMethodDelegate(AddressOf mySC.myStringMethod)
      Dim myD2 As New myMethodDelegate(AddressOf mySampleClass.mySignMethod)

      ' Invokes the delegates.
      Console.WriteLine("{0} is {1}; use the sign ""{2}"".", 5, myD1(5), myD2(5))
      Console.WriteLine("{0} is {1}; use the sign ""{2}"".", - 3, myD1(- 3), myD2(- 3))
      Console.WriteLine("{0} is {1}; use the sign ""{2}"".", 0, myD1(0), myD2(0))

   End Sub

End Class 'SamplesDelegate 


'This code produces the following output:
' 
'5 is positive; use the sign "+".
'-3 is negative; use the sign "-".
'0 is zero; use the sign "".


설명

Delegate 클래스는 대리자 형식에 대 한 기본 클래스입니다.The Delegate class is the base class for delegate types. 그러나 시스템 및 컴파일러에서 명시적으로 파생할 수는 Delegate 클래스 또는 MulticastDelegate 클래스입니다.However, only the system and compilers can derive explicitly from the Delegate class or from the MulticastDelegate class. 것도 대리자 형식에서 새 형식을 파생할 수입니다.It is also not permissible to derive a new type from a delegate type. Delegate 클래스 대리자 형식으로 간주 되지 않으면 대리자 형식을 파생 하는 데 사용 하는 클래스입니다.The Delegate class is not considered a delegate type; it is a class used to derive delegate types.

대부분의 언어를 구현를 delegate 키워드 및 해당 언어 컴파일러에서 파생 시킬 수 있습니다 합니다 MulticastDelegate 클래스; 따라서 사용자가 사용 해야는 delegate 언어에서 제공 하는 키워드입니다.Most languages implement a delegate keyword, and compilers for those languages are able to derive from the MulticastDelegate class; therefore, users should use the delegate keyword provided by the language.

참고

공용 언어 런타임에서 제공는 Invoke 대리자와 동일한 서명 사용 하 여 각 대리자 형식에 대 한 메서드.The common language runtime provides an Invoke method for each delegate type, with the same signature as the delegate. 컴파일러는 자동으로 호출 하므로 C#, Visual Basic 또는 Visual c + +에서이 메서드를 명시적으로 호출할 필요가 없습니다.You do not have to call this method explicitly from C#, Visual Basic, or Visual C++, because the compilers call it automatically. 합니다 Invoke 메서드는에서 유용 리플렉션 대리자 형식 시그니처를 찾으려는 경우.The Invoke method is useful in reflection when you want to find the signature of the delegate type.

공용 언어 런타임에서 제공 각 대리자 형식과 BeginInvokeEndInvoke 메서드를 대리자의 비동기 호출을 사용 하도록 설정 합니다.The common language runtime provides each delegate type with BeginInvoke and EndInvoke methods, to enable asynchronous invocation of the delegate. 이러한 방법에 대 한 자세한 내용은 참조 하세요. Calling Synchronous Methods Asynchronously합니다.For more information about these methods, see Calling Synchronous Methods Asynchronously.

하나 이상의 메서드의 서명을 지정 하는 계약을 설정 하는 대리자 형식 선언 합니다.The declaration of a delegate type establishes a contract that specifies the signature of one or more methods. 대리자는에 대 한 참조 된 대리자 형식의 인스턴스입니다.A delegate is an instance of a delegate type that has references to:

  • 형식과 해당 형식에 할당할 수 있는 대상 개체의 인스턴스 메서드An instance method of a type and a target object assignable to that type.

  • 숨겨진 된 형식의 인스턴스 메서드인 this 정식 매개 변수 목록에서 노출 하는 매개 변수입니다.An instance method of a type, with the hidden this parameter exposed in the formal parameter list. 열려 있는 인스턴스 대리자를 대리자 라고 합니다.The delegate is said to be an open instance delegate.

  • 정적 메서드입니다.A static method.

  • 정적 메서드와 메서드의 첫 번째 매개 변수에 할당할 수 있는 대상 개체입니다.A static method and a target object assignable to the first parameter of the method. 대리자는 첫 번째 인수에 대해 닫혀 있는 것으로 간주 됩니다.The delegate is said to be closed over its first argument.

대리자 바인딩에 대 한 자세한 내용은 참조는 CreateDelegate(Type, Object, MethodInfo, Boolean) 메서드 오버 로드 합니다.For more information on delegate binding, see the CreateDelegate(Type, Object, MethodInfo, Boolean) method overload.

참고

.NET Framework 버전 1.0 및 1.1에서는 대리자 메서드 서명의 정확 하 게 시그니처와 일치 하는 대리자 형식으로 지정 하는 경우에 메서드를 나타낼 수 있습니다.In the .NET Framework versions 1.0 and 1.1, a delegate can represent a method only if the signature of the method exactly matches the signature specified by the delegate type. 따라서 앞의 목록에서 첫 번째 및 세 번째 글머리 지원 하며 첫 번째 글머리 기호 형식이 정확히 일치 하는 합니다.Thus, only the first and third bullets in the preceding list are supported, and the first bullet requires an exact type match.

첫 번째 인수 (가장 일반적인 경우)에 대해 닫혀 인스턴스 메서드를 나타내는 대리자를 대리자 저장 메서드의 진입점에 대 한 참조 및 호출 대상에 정의 된 형식에 할당할 수 있는 형식의 개체에 대 한 참조는 메서드입니다.When a delegate represents an instance method closed over its first argument (the most common case), the delegate stores a reference to the method's entry point and a reference to an object, called the target, which is of a type assignable to the type that defined the method. 대리자가 열려 있는 인스턴스 메서드를 나타내는 경우 메서드 진입점에 대 한 참조를 저장 합니다.When a delegate represents an open instance method, it stores a reference to the method's entry point. 대리자 시그니처는 숨겨진 있어야 합니다. this 매개 변수는 정식 매개 변수 목록의 경우 대리자에는 대상 개체에 대 한 참조가 없는 및 대리자를 호출할 때 대상 개체를 제공 해야 합니다.The delegate signature must include the hidden this parameter in its formal parameter list; in this case, the delegate does not have a reference to a target object, and a target object must be supplied when the delegate is invoked.

대리자는 정적 메서드를 나타내는 경우 대리자 메서드의 진입점에 대 한 참조를 저장 합니다.When a delegate represents a static method, the delegate stores a reference to the method's entry point. 대리자에서 첫 번째 인수에 대해 닫혀 정적 메서드를 나타내는 경우 대리자 메서드의 진입점에 대 한 참조 및 메서드의 첫 번째 인수의 형식에 할당할 수 있는 대상 개체에 대 한 참조를 저장 합니다.When a delegate represents a static method closed over its first argument, the delegate stores a reference to the method's entry point and a reference to a target object assignable to the type of the method's first argument. 대리자 호출 되 면 정적 메서드의 첫 번째 인수는 대상 개체를 받습니다.When the delegate is invoked, the first argument of the static method receives the target object.

대리자의 호출 목록은 순서가 지정 된 집합은 목록의 각 요소가 정확히 하나를 호출 대리자가 나타내는 메서드의 대리자입니다.The invocation list of a delegate is an ordered set of delegates in which each element of the list invokes exactly one of the methods represented by the delegate. 호출 목록을 중복 메서드를 포함할 수 있습니다.An invocation list can contain duplicate methods. 메서드는 호출 하는 동안 호출 목록에 나타나는 순서 대로 호출 됩니다.During an invocation, methods are invoked in the order in which they appear in the invocation list. 대리자는 호출 목록의 모든 메서드를 호출 하려고 합니다. 중복 된 각 시간에 대 한 호출 목록에 표시 되 면 호출 됩니다.A delegate attempts to invoke every method in its invocation list; duplicates are invoked once for each time they appear in the invocation list. 대리자는 변경할 수 없습니다. 를 만든 후에 대리자의 호출 목록이 변경 되지 않습니다.Delegates are immutable; once created, the invocation list of a delegate does not change.

대리자 라고 멀티 캐스트 또는 결합할 대리자 하나 이상의 메서드를 호출할 수 작업을 결합 하 여 사용 될 수 있으므로 합니다.Delegates are referred to as multicast, or combinable, because a delegate can invoke one or more methods and can be used in combining operations.

와 같은 작업을 결합 CombineRemove, 기존 대리자를 변경 하지 않습니다.Combining operations, such as Combine and Remove, do not alter existing delegates. 이러한 작업에서 변경 되지 않은 대리자를 작업의 결과 포함 하는 새 대리자를 반환 하는 대신 또는 null합니다.Instead, such an operation returns a new delegate that contains the results of the operation, an unchanged delegate, or null. 결합 작업을 반환 합니다 null 경우 작업의 결과 하나 이상의 메서드를 참조 하지 않는 대리자입니다.A combining operation returns null when the result of the operation is a delegate that does not reference at least one method. 결합 작업을 요청한 작업에 영향을 주지 않습니다 경우는 변경 되지 않은 대리자를 반환 합니다.A combining operation returns an unchanged delegate when the requested operation has no effect.

참고

언어 사용을 관리 합니다 CombineRemove 대리자 작업을 구현 하는 방법입니다.Managed languages use the Combine and Remove methods to implement delegate operations. 예를 들어 합니다 AddHandlerRemoveHandler Visual Basic의 선언문 및 + = 및-= 연산자를 대리자 C#의 형식입니다.Examples include the AddHandler and RemoveHandler statements in Visual Basic and the += and -= operators on delegate types in C#.

부터 .NET Framework 4.NET Framework 4, 제네릭 대리자 형식에서 variant 형식 매개 변수를 가질 수 있습니다.Starting with the .NET Framework 4.NET Framework 4, generic delegate types can have variant type parameters. 반공 변 형식 매개 변수는 대리자의 매개 변수 형식으로 사용할 수 및 반환 형식으로 공변 (covariant) 형식 매개 변수를 사용할 수 있습니다.Contravariant type parameters can be used as parameter types of the delegate, and a covariant type parameter can be used as the return type. 이 기능을 사용 하면 제네릭 대리자에 설명 된 대로 해당 형식 인수가 상속 관계를 사용 하 여 참조 형식이 면 대입과 호환 되도록 동일한 제네릭 형식 정의에서 생성 되는 형식을 공변성 (covariance) 및 반 공변성합니다.This feature allows generic delegate types that are constructed from the same generic type definition to be assignment-compatible if their type arguments are reference types with an inheritance relationship, as explained in Covariance and Contravariance.

참고

제네릭 대리자의 할당 호환 분산으로 인해 없는 결합할 수 있는 것은 아닙니다.Generic delegates that are assignment-compatible because of variance are not necessarily combinable. 결합할 수 있으려면 형식을 정확 하 게 일치 해야 합니다.To be combinable, the types must match exactly. 예를 들어 라는 클래스를 가정 Derived 라는 클래스에서 파생 된 Base합니다.For example, suppose that a class named Derived is derived from a class named Base. 형식의 대리자 Action<Base> (Action(Of Base) Visual Basic에서) 형식의 변수에 할당할 수 있습니다 Action<Derived>, 하지만 두 대리자 형식이 정확히 일치 하지 않기 때문에 함께 사용할 수 없습니다.A delegate of type Action<Base> (Action(Of Base) in Visual Basic) can be assigned to a variable of type Action<Derived>, but the two delegates cannot be combined because the types do not match exactly.

호출한 메서드가 예외를 throw 하는 경우 메서드 실행을 중지, 대리자의 호출자에 게 전달 될 예외 및 호출 목록에 남아 있는 메서드는 호출 되지 않습니다.If an invoked method throws an exception, the method stops executing, the exception is passed back to the caller of the delegate, and remaining methods in the invocation list are not invoked. 호출자에 예외를 catch 하는 경우에이 동작은 변경 되지 않습니다.Catching the exception in the caller does not alter this behavior.

반환 값을 포함 하는 대리자를 호출한 메서드 서명의 경우 대리자 호출 목록에서 마지막 요소의 반환 값을 반환 합니다.When the signature of the methods invoked by a delegate includes a return value, the delegate returns the return value of the last element in the invocation list. 서명을 참조로 전달 되는 매개 변수를 포함 하는 경우 매개 변수의 최종 값 순차적으로 실행 하 고 매개 변수의 값을 업데이트 호출 목록의 모든 메서드의 결과입니다.When the signature includes a parameter that is passed by reference, the final value of the parameter is the result of every method in the invocation list executing sequentially and updating the parameter's value.

C에서 대리자의 가장 가까운 해당 함수 포인터입니다.The closest equivalent of a delegate in C is a function pointer. 대리자는 정적 메서드 또는 인스턴스 메서드를 나타낼 수 있습니다.A delegate can represent a static method or an instance method. 대리자가 인스턴스 메서드를 나타내는 경우 대리자 메서드의 진입점에 대 한 참조 뿐만 아니라 클래스 인스턴스에 대 한 참조를 저장 합니다.When the delegate represents an instance method, the delegate stores not only a reference to the method's entry point, but also a reference to the class instance. 함수 포인터와 달리 대리자는 개체 지향적 이며 형식 안전.Unlike function pointers, delegates are object oriented and type safe.

생성자

Delegate(Object, String) Delegate(Object, String) Delegate(Object, String) Delegate(Object, String)

지정된 클래스 인스턴스에서 지정된 인스턴스 메서드를 호출하는 대리자를 초기화합니다.Initializes a delegate that invokes the specified instance method on the specified class instance.

Delegate(Type, String) Delegate(Type, String) Delegate(Type, String) Delegate(Type, String)

지정된 클래스에서 지정된 정적 메서드를 호출하는 대리자를 초기화합니다.Initializes a delegate that invokes the specified static method from the specified class.

속성

Method Method Method Method

대리자가 나타내는 메서드를 가져옵니다.Gets the method represented by the delegate.

Target Target Target Target

현재 대리자가 인스턴스 메서드를 호출하는 클래스 인스턴스를 가져옵니다.Gets the class instance on which the current delegate invokes the instance method.

메서드

Clone() Clone() Clone() Clone()

대리자의 부분 복사본을 만듭니다.Creates a shallow copy of the delegate.

Combine(Delegate, Delegate) Combine(Delegate, Delegate) Combine(Delegate, Delegate) Combine(Delegate, Delegate)

두 대리자의 호출 목록을 연결합니다.Concatenates the invocation lists of two delegates.

Combine(Delegate[]) Combine(Delegate[]) Combine(Delegate[]) Combine(Delegate[])

대리자 배열의 호출 목록을 연결합니다.Concatenates the invocation lists of an array of delegates.

CombineImpl(Delegate) CombineImpl(Delegate) CombineImpl(Delegate) CombineImpl(Delegate)

지정된 결합할 수 있는 멀티캐스트 대리자와 현재 결합할 수 있는 멀티캐스트 대리자의 호출 목록을 연결합니다.Concatenates the invocation lists of the specified multicast (combinable) delegate and the current multicast (combinable) delegate.

CreateDelegate(Type, MethodInfo) CreateDelegate(Type, MethodInfo) CreateDelegate(Type, MethodInfo) CreateDelegate(Type, MethodInfo)

지정된 정적 메서드를 나타내기 위해서 지정된 형식의 대리자를 만듭니다.Creates a delegate of the specified type to represent the specified static method.

CreateDelegate(Type, MethodInfo, Boolean) CreateDelegate(Type, MethodInfo, Boolean) CreateDelegate(Type, MethodInfo, Boolean) CreateDelegate(Type, MethodInfo, Boolean)

바인딩 실패 시 지정한 동작을 기반으로 지정한 정적 메서드를 나타내는 지정한 형식의 대리자를 만듭니다.Creates a delegate of the specified type to represent the specified static method, with the specified behavior on failure to bind.

CreateDelegate(Type, Object, MethodInfo) CreateDelegate(Type, Object, MethodInfo) CreateDelegate(Type, Object, MethodInfo) CreateDelegate(Type, Object, MethodInfo)

지정한 첫 번째 인수를 사용하여 지정한 정적 또는 인스턴스 메서드를 나타내는 지정한 형식의 대리자를 만듭니다.Creates a delegate of the specified type that represents the specified static or instance method, with the specified first argument.

CreateDelegate(Type, Object, MethodInfo, Boolean) CreateDelegate(Type, Object, MethodInfo, Boolean) CreateDelegate(Type, Object, MethodInfo, Boolean) CreateDelegate(Type, Object, MethodInfo, Boolean)

지정한 첫 번째 인수와 바인딩 실패 시 지정한 동작을 기반으로 지정한 정적 또는 인스턴스 메서드를 나타내는 지정한 형식의 대리자를 만듭니다.Creates a delegate of the specified type that represents the specified static or instance method, with the specified first argument and the specified behavior on failure to bind.

CreateDelegate(Type, Object, String) CreateDelegate(Type, Object, String) CreateDelegate(Type, Object, String) CreateDelegate(Type, Object, String)

지정된 클래스 인스턴스에서 호출하는 지정된 인스턴스 메서드를 나타내는 지정된 형식의 대리자를 만듭니다.Creates a delegate of the specified type that represents the specified instance method to invoke on the specified class instance.

CreateDelegate(Type, Object, String, Boolean) CreateDelegate(Type, Object, String, Boolean) CreateDelegate(Type, Object, String, Boolean) CreateDelegate(Type, Object, String, Boolean)

지정된 대/소문자 구분 여부를 기반으로 지정된 클래스 인스턴스에서 호출하는 지정된 인스턴스 메서드를 나타내는 지정된 형식의 대리자를 만듭니다.Creates a delegate of the specified type that represents the specified instance method to invoke on the specified class instance with the specified case-sensitivity.

CreateDelegate(Type, Object, String, Boolean, Boolean) CreateDelegate(Type, Object, String, Boolean, Boolean) CreateDelegate(Type, Object, String, Boolean, Boolean) CreateDelegate(Type, Object, String, Boolean, Boolean)

지정한 대/소문자 구분과 바인딩 실패 시 지정한 동작을 기반으로 지정한 클래스 인스턴스에서 호출하는 지정한 인스턴스 메서드를 나타내는 지정한 형식의 대리자를 만듭니다.Creates a delegate of the specified type that represents the specified instance method to invoke on the specified class instance, with the specified case-sensitivity and the specified behavior on failure to bind.

CreateDelegate(Type, Type, String) CreateDelegate(Type, Type, String) CreateDelegate(Type, Type, String) CreateDelegate(Type, Type, String)

지정된 클래스의 지정된 정적 메서드를 나타내는 지정된 형식의 대리자를 만듭니다.Creates a delegate of the specified type that represents the specified static method of the specified class.

CreateDelegate(Type, Type, String, Boolean) CreateDelegate(Type, Type, String, Boolean) CreateDelegate(Type, Type, String, Boolean) CreateDelegate(Type, Type, String, Boolean)

지정한 대/소문자 구분 여부를 기반으로 지정한 클래스의 지정한 정적 메서드를 나타내는 지정한 형식의 대리자를 만듭니다.Creates a delegate of the specified type that represents the specified static method of the specified class, with the specified case-sensitivity.

CreateDelegate(Type, Type, String, Boolean, Boolean) CreateDelegate(Type, Type, String, Boolean, Boolean) CreateDelegate(Type, Type, String, Boolean, Boolean) CreateDelegate(Type, Type, String, Boolean, Boolean)

지정한 대/소문자 구분과 바인딩 실패 시 지정한 동작을 기반으로 지정한 클래스의 지정한 정적 메서드를 나타내는 지정한 형식의 대리자를 만듭니다.Creates a delegate of the specified type that represents the specified static method of the specified class, with the specified case-sensitivity and the specified behavior on failure to bind.

DynamicInvoke(Object[]) DynamicInvoke(Object[]) DynamicInvoke(Object[]) DynamicInvoke(Object[])

현재 대리자가 나타내는 메서드를 동적으로 호출(런타임에 바인딩)합니다.Dynamically invokes (late-bound) the method represented by the current delegate.

DynamicInvokeImpl(Object[]) DynamicInvokeImpl(Object[]) DynamicInvokeImpl(Object[]) DynamicInvokeImpl(Object[])

현재 대리자가 나타내는 메서드를 동적으로 호출(런타임에 바인딩)합니다.Dynamically invokes (late-bound) the method represented by the current delegate.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

지정한 개체와 현재 대리자가 같은 형식이고 같은 대상, 메서드 및 호출 목록을 공유하는지를 확인합니다.Determines whether the specified object and the current delegate are of the same type and share the same targets, methods, and invocation list.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

대리자의 해시 코드를 반환합니다.Returns a hash code for the delegate.

GetInvocationList() GetInvocationList() GetInvocationList() GetInvocationList()

대리자의 호출 목록을 반환합니다.Returns the invocation list of the delegate.

GetMethodImpl() GetMethodImpl() GetMethodImpl() GetMethodImpl()

현재 대리자가 나타내는 정적 메서드를 가져옵니다.Gets the static method represented by the current delegate.

GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

지원되지 않습니다.Not supported.

GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(Delegate, Delegate) Remove(Delegate, Delegate) Remove(Delegate, Delegate) Remove(Delegate, Delegate)

한 대리자의 호출 목록에 있는 마지막 항목을 다른 대리자의 호출 목록에서 제거합니다.Removes the last occurrence of the invocation list of a delegate from the invocation list of another delegate.

RemoveAll(Delegate, Delegate) RemoveAll(Delegate, Delegate) RemoveAll(Delegate, Delegate) RemoveAll(Delegate, Delegate)

한 대리자의 호출 목록에 있는 모든 항목을 다른 대리자의 호출 목록에서 제거합니다.Removes all occurrences of the invocation list of a delegate from the invocation list of another delegate.

RemoveImpl(Delegate) RemoveImpl(Delegate) RemoveImpl(Delegate) RemoveImpl(Delegate)

한 대리자의 호출 목록을 다른 대리자의 호출 목록에서 제거합니다.Removes the invocation list of a delegate from the invocation list of another delegate.

ToString() ToString() ToString() ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(Inherited from Object)

연산자

Equality(Delegate, Delegate) Equality(Delegate, Delegate) Equality(Delegate, Delegate) Equality(Delegate, Delegate)

지정된 대리자가 같은지를 확인합니다.Determines whether the specified delegates are equal.

Inequality(Delegate, Delegate) Inequality(Delegate, Delegate) Inequality(Delegate, Delegate) Inequality(Delegate, Delegate)

지정된 대리자가 다른지를 확인합니다.Determines whether the specified delegates are not equal.

확장 메서드

GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate)

지정된 대리자가 나타내는 메서드를 나타내는 개체를 가져옵니다.Gets an object that represents the method represented by the specified delegate.

적용 대상

추가 정보