다음을 통해 공유


Type.GetPropertyImpl 메서드

정의

파생 클래스에서 재정의되면, 지정된 인수 형식 및 한정자와 일치하는 매개 변수를 가진 지정된 속성을 지정된 바인딩 제약 조건으로 검색합니다.

protected:
 abstract System::Reflection::PropertyInfo ^ GetPropertyImpl(System::String ^ name, System::Reflection::BindingFlags bindingAttr, System::Reflection::Binder ^ binder, Type ^ returnType, cli::array <Type ^> ^ types, cli::array <System::Reflection::ParameterModifier> ^ modifiers);
protected abstract System.Reflection.PropertyInfo? GetPropertyImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder? binder, Type? returnType, Type[]? types, System.Reflection.ParameterModifier[]? modifiers);
protected abstract System.Reflection.PropertyInfo GetPropertyImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, Type returnType, Type[] types, System.Reflection.ParameterModifier[] modifiers);
abstract member GetPropertyImpl : string * System.Reflection.BindingFlags * System.Reflection.Binder * Type * Type[] * System.Reflection.ParameterModifier[] -> System.Reflection.PropertyInfo
Protected MustOverride Function GetPropertyImpl (name As String, bindingAttr As BindingFlags, binder As Binder, returnType As Type, types As Type(), modifiers As ParameterModifier()) As PropertyInfo

매개 변수

name
String

가져올 속성의 이름이 포함된 문자열입니다.

bindingAttr
BindingFlags

검색 방법을 지정하는 열거형 값의 비트 조합입니다.

또는 null을 반환하는 Default입니다.

binder
Binder

속성 집합을 정의하고 바인딩을 활성화하는 개체입니다. 이 개체는 또한 리플렉션을 통해 오버로드된 멤버를 선택할 수 있고 인수 형식을 강제 변환할 수 있으며 멤버를 호출할 수도 있습니다.

또는 Nothing를 사용하려면 null 참조(Visual Basic의 경우 DefaultBinder)입니다.

returnType
Type

속성의 반환 형식입니다.

types
Type[]

가져올 인덱싱된 속성에 대한 매개 변수의 수, 차수, 형식 등을 나타내는 Type 개체 배열입니다.

또는 인덱싱되지 않은 속성을 가져오기 위한 Type 형식의 빈 배열입니다(즉, Type[] types = new Type[0]).

modifiers
ParameterModifier[]

ParameterModifier 배열에서 해당하는 요소와 연관된 특성을 나타내는 types 개체 배열입니다. 기본 바인더에서는 이 매개 변수를 처리하지 않습니다.

반환

PropertyInfo

지정된 요구 사항과 일치하는 속성을 나타내는 개체이며(있는 경우), 이러한 개체가 없으면 null을 반환합니다.

예외

지정한 이름을 가지며 지정된 바인딩 제약 조건과 일치하는 속성이 둘 이상 발견되었습니다.

name이(가) null인 경우

또는 typesnull입니다.

또는 types의 요소 중 하나가 null입니다.

types가 다차원 배열인 경우

또는 modifiers가 다차원 배열인 경우

또는 typesmodifiers 의 길이가 동일하지 않습니다.

설명

기본 바인더는 (매개 변수)를 처리하지 않지만 ParameterModifier modifiers 추상 클래스를 사용하여 System.Reflection.Binder 을 처리하는 사용자 지정 바인더를 작성할 수 modifiers 있습니다. ParameterModifier 는 COM interop 통해 를 호출할 때만 사용되며 참조로 전달되는 매개 변수만 처리됩니다.

다음 BindingFlags 필터 플래그를 사용하여 검색에 포함할 속성을 정의할 수 있습니다.

  • 반환을 얻으려면 또는 를 지정해야 BindingFlags.Instance BindingFlags.Static 합니다.

  • BindingFlags.Public검색에 공용 속성을 포함하도록 지정합니다.

  • BindingFlags.NonPublicpublic이 아닌 속성(즉, private, internal 및 protected 속성)을 검색에 포함하도록 지정합니다.

  • BindingFlags.FlattenHierarchy public 계층에 및 정적 멤버를 포함하도록 protected 지정합니다. private 상속된 클래스의 정적 멤버는 포함되지 않습니다.

다음 BindingFlags 한정자 플래그를 사용하여 검색 작동 방식을 변경할 수 있습니다.

  • BindingFlags.IgnoreCase 의 대/소문자 구분을 name 무시합니다.

  • BindingFlags.DeclaredOnly 단순히 상속된 속성이 아니라 에 선언된 속성만 검색하려면 Type 입니다.

자세한 내용은 System.Reflection.BindingFlags를 참조하세요.

적용 대상

추가 정보