Binder.BindToMethod 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
제공된 인수를 기반으로 지정된 메서드 집합에서 호출할 메서드를 선택합니다.
public:
abstract System::Reflection::MethodBase ^ BindToMethod(System::Reflection::BindingFlags bindingAttr, cli::array <System::Reflection::MethodBase ^> ^ match, cli::array <System::Object ^> ^ % args, cli::array <System::Reflection::ParameterModifier> ^ modifiers, System::Globalization::CultureInfo ^ culture, cli::array <System::String ^> ^ names, [Runtime::InteropServices::Out] System::Object ^ % state);
public abstract System.Reflection.MethodBase BindToMethod (System.Reflection.BindingFlags bindingAttr, System.Reflection.MethodBase[] match, ref object?[] args, System.Reflection.ParameterModifier[]? modifiers, System.Globalization.CultureInfo? culture, string[]? names, out object? state);
public abstract System.Reflection.MethodBase BindToMethod (System.Reflection.BindingFlags bindingAttr, System.Reflection.MethodBase[] match, ref object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] names, out object state);
abstract member BindToMethod : System.Reflection.BindingFlags * System.Reflection.MethodBase[] * Object[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] * obj -> System.Reflection.MethodBase
Public MustOverride Function BindToMethod (bindingAttr As BindingFlags, match As MethodBase(), ByRef args As Object(), modifiers As ParameterModifier(), culture As CultureInfo, names As String(), ByRef state As Object) As MethodBase
매개 변수
- bindingAttr
- BindingFlags
BindingFlags 값의 비트 조합입니다.
- match
- MethodBase[]
일치 가능한 메서드 집합입니다. 예를 들어, Binder 개체가 InvokeMember에서 사용되는 경우 리플렉션에서 일치 가능 항목으로 확인된 메서드 집합은 일반적으로 올바른 멤버 이름을 가지므로이 매개 변수는 메서드 집합을 지정합니다. DefaultBinder에서 제공하는 기본 구현은 이 배열의 순서를 변경합니다.
- args
- Object[]
전달되는 인수입니다. 바인더는 이 배열의 인수 순서를 변경할 수 있습니다. 예를 들어 names
매개 변수를 사용하여 위치 순서 외의 순서를 지정하는 경우 기본 바인더는 인수 순서를 변경합니다. 바인더 구현에서 인수 형식을 강제 변환하면 인수 형식과 값도 변경될 수 있습니다.
- modifiers
- ParameterModifier[]
형식이 수정된 매개 변수 시그니처로 작업하기 위해 바인딩을 사용하는 매개 변수 한정자의 배열입니다. 기본 바인더 구현에서는 이 매개 변수를 사용하지 않습니다.
- culture
- CultureInfo
형식을 강제 변환하는 바인더 구현에서 데이터 형식의 강제 변환을 제어하는 데 사용되는 CultureInfo의 인스턴스입니다. culture
가 null
이면 현재 스레드의 CultureInfo가 사용됩니다.
- names
- String[]
일치시킬 때 매개 변수 이름이 고려되는 경우 매개 변수 이름이고, 인수가 위치로만 간주되는 경우 null
입니다. 예를 들어, 인수가 위치 순서대로 제공되지 않는 경우 매개 변수 이름을 사용해야 합니다.
- state
- Object
메서드가 반환된 후 state
에는 인수 순서 변경을 추적하는 바인더 제공 개체가 포함됩니다. 바인더는 이 개체를 만들고 이 개체의 유일한 소비자입니다. null
매개 변수(Visual Basic에서는 BindToMethod
매개 변수)의 값을 검색할 수 있도록 state
를 원래 순서로 복원하려는 경우와 같이, ref
가 반환될 때 state
가 ByRef
이 아닌 경우 args
를 ReorderArgumentArray(Object[], Object)에 전달해야 합니다.
반환
일치하는 메서드입니다.
예외
기본 바인더에 대해 match
에 args
와 동등하게 일치하는 여러 메서드가 포함된 경우. 예를 들어 args
에는 인터페이스를 MyClass
구현 IMyClass
하는 개체가 포함되며 를 사용하는 MyClass
메서드와 match
를 사용하는 IMyClass
메서드가 포함됩니다.
기본 바인더에 대해 match
에 제공된 인수를 받아들일 수 있는 메서드가 args
에 포함되지 않은 경우
기본 바인더에 대해 match
가 null
이거나 빈 배열인 경우
설명
기본 바인더는 값과 params
배열이 있는 매개 변수(ParamArray
Visual Basic의 배열)를 모두 고려합니다. 따라서 및 match
가 동일한 수의 요소를 포함하지 않는 경우 args
일치 항목을 찾을 수 있습니다.
바인더를 사용하면 인수 배열이 에 의해 조작된 경우 클라이언트가 인수 배열을 원래 형식으로 BindToMethod다시 매핑할 수 있습니다. 이러한 인수가 있는 경우 이 다시 매핑 기능을 사용하여 참조별 인수를 다시 가져옵니다. 이름으로 인수를 전달하면 바인더가 인수 배열을 다시 정렬합니다. 매개 변수는 state
인수 다시 정렬을 추적하므로 바인더의 ReorderArgumentArray 메서드가 인수 배열을 원래 형식으로 다시 정렬할 수 있습니다.
메서드는 BindToMethod 메서드에서 Type.InvokeMember 사용됩니다.
바인더 구현에서 문자열 값을 숫자 형식 culture
으로 강제 변환할 수 있는 경우 매개 변수는 1000을 나타내는 문자열을 값으로 변환해야 Double 합니다. 1000은 다른 문화권에 의해 다르게 표현되기 때문입니다. 기본 바인더는 이러한 문자열 강제 변환을 수행하지 않습니다.
적용 대상
추가 정보
.NET