TypeBuilder.InvokeMember 메서드

정의

지정된 멤버를 호출합니다. 호출해야 할 메서드에 액세스할 수 있어야 하며 이 메서드가 지정된 바인더 및 호출 특성의 제약 조건 하에서 지정된 인수 목록과 가장 구체적으로 일치하는 항목을 제공해야 합니다.

public:
 override System::Object ^ InvokeMember(System::String ^ name, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, System::Object ^ target, cli::array <System::Object ^> ^ args, cli::array <System::Reflection::ParameterModifier> ^ modifiers, System::Globalization::CultureInfo ^ culture, cli::array <System::String ^> ^ namedParameters);
public override object? InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object? target, object?[]? args, System.Reflection.ParameterModifier[]? modifiers, System.Globalization.CultureInfo? culture, string[]? namedParameters);
public override object InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
override this.InvokeMember : string * System.Reflection.BindingFlags * System.Reflection.Binder * obj * obj[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] -> obj
Public Overrides Function InvokeMember (name As String, invokeAttr As BindingFlags, binder As Binder, target As Object, args As Object(), modifiers As ParameterModifier(), culture As CultureInfo, namedParameters As String()) As Object

매개 변수

name
String

호출할 멤버의 이름입니다. 이 항목은 생성자, 메서드, 속성 또는 필드일 수 있습니다. 적합한 호출 특성을 지정해야 합니다. 빈 문자열을 멤버의 이름으로 전달하여 클래스의 기본 멤버를 호출할 수 있습니다.

invokeAttr
BindingFlags

호출 특성입니다. 이 항목은 BindingFlags의 비트 플래그여야 합니다.

binder
Binder

리플렉션을 통해 바인딩, 인수 형식의 강제 변환, 멤버 호출 및 MemberInfo 개체의 검색을 가능하게 하는 개체입니다. 바인더가 null이면 기본 바인더가 사용됩니다. Binder을 참조하세요.

target
Object

지정한 멤버를 호출할 개체입니다. 멤버가 정적이면 이 매개 변수가 무시됩니다.

args
Object[]

인수 목록입니다. 이 항목은 호출해야 할 멤버의 매개 변수 개수, 순서 및 형식을 포함하는 개체 배열입니다. 매개 변수가 없으면 이 값이 null이어야 합니다.

modifiers
ParameterModifier[]

호출할 멤버의 인수와 연결된 특성을 나타내는 요소를 가진 args와 길이가 동일한 배열입니다. 메타데이터에 있는 매개 변수에 특성이 연결되어 있습니다. 이러한 항목은 다양한 상호 운용성 서비스에 사용됩니다. 자세한 내용은 메타데이터 사양을 참조하세요.

culture
CultureInfo

형식의 강제 변환을 제어하는 데 사용되는 CultureInfo 의 인스턴스입니다. 이 매개 변수가 null이면 현재 스레드에 대한 CultureInfo가 사용됩니다. 예를 들어 1,000은 각 문화권마다 다르게 표현되므로 1,000을 나타내는 문자열을 배정도 값으로 변환하려면 이 매개 변수가 필요합니다.

namedParameters
String[]

namedParameters 배열의 각 매개 변수는 args 배열의 해당 요소에 있는 값을 가져옵니다. args의 길이가 namedParameters의 길이보다 크면 남은 인수 값이 순서대로 전달됩니다.

반환

Object

호출된 멤버의 반환 값을 반환합니다.

예외

이 메서드는 현재 불완전한 형식에 대해 지원되지 않습니다.

설명

메서드 선언의 매개 변수 수가 지정된 인수 목록의 인수 수와 같고 바인더가 각 인수의 형식을 매개 변수 형식으로 변환할 수 있는 경우 메서드가 호출됩니다.

바인더는 일치하는 메서드를 모두 찾습니다. 이러한 메서드는 요청된 바인딩 형식(BindingFlags.InvokeMethod, BindingFlags.GetProperties 등)을 기반으로 합니다. 메서드 집합은 이름, 인수 수 및 바인더에 정의된 검색 한정자 집합으로 필터링됩니다. 메서드를 선택하면 메서드가 호출됩니다. 이때 접근성이 검사됩니다. 검색은 메서드와 연결된 접근성 특성에 따라 검색되는 메서드 집합을 제어할 수 있습니다. IBinder.BindToMethod메서드는 호출할 메서드를 선택해야 합니다. 기본 바인더는 가장 구체적인 일치를 선택합니다.

참고

완전히 신뢰할 수 있는 코드에 대한 액세스 제한은 무시됩니다. 즉, 코드를 완전히 신뢰할 수 있을 때마다 리플렉션을 사용하여 프라이빗 생성자, 메서드, 필드 및 속성에 액세스하고 호출할 수 있습니다.

이 메서드는 현재 지원되지 않습니다. 또는 를 사용하여 형식을 Type.GetType Assembly.GetType 검색하고 검색된 형식에서 리플렉션을 사용할 수 있습니다.

적용 대상