MSDN Library
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

PropertyInfo 클래스

2013-12-13

속성의 특성을 검색하고 속성 메타데이터에 대한 액세스를 제공합니다.

System.Object
  System.Reflection.MemberInfo
    System.Reflection.PropertyInfo

Namespace:  System.Reflection
어셈블리:  mscorlib(mscorlib.dll)

‘선언
Public MustInherit Class PropertyInfo _
	Inherits MemberInfo

PropertyInfo 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 속성Attributes이 속성의 특성을 가져옵니다.
Public 속성CanRead속성을 읽을 수 있는지 여부를 나타내는 값을 가져옵니다.
Public 속성CanWrite속성에 쓸 수 있는지 여부를 나타내는 값을 가져옵니다.
Public 속성CustomAttributes이 멤버의 사용자 지정 특성을 포함하는 컬렉션을 가져옵니다. (MemberInfo에서 상속됨)
Public 속성DeclaringType이 멤버를 선언하는 클래스를 가져옵니다. (MemberInfo에서 상속됨)
Public 속성GetMethod이 속성의 get 접근자를 가져옵니다.
Public 속성IsSpecialName컴파일러에서 속성 이름을 특수한 이름으로 인식하는지 여부를 나타내는 값을 가져옵니다.
Public 속성MemberType이 멤버가 속성임을 나타내는 MemberTypes 값을 가져옵니다. (MemberInfo.MemberType을(를) 재정의함)
Public 속성MetadataToken메타데이터 요소를 식별하는 값을 가져옵니다. (MemberInfo에서 상속됨)
Public 속성Module현재 MemberInfo가 나타내는 멤버를 선언하는 형식이 정의된 모듈을 가져옵니다. (MemberInfo에서 상속됨)
Public 속성Name현재 멤버의 이름을 가져옵니다. (MemberInfo에서 상속됨)
Public 속성PropertyType이 속성의 형식을 가져옵니다.
Public 속성ReflectedTypeMemberInfo의 이 인스턴스를 가져오는 데 사용된 클래스 개체를 가져옵니다. (MemberInfo에서 상속됨)
Public 속성SetMethod이 속성의 set 접근자를 가져옵니다.
맨 위

  이름설명
Public 메서드Equals이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. (MemberInfo.Equals(Object)을(를) 재정의함)
Protected 메서드Finalize가비지 수집기에서 Object를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetAccessorspublic get, set 및 현재 인스턴스에서 리플렉션된 속성의 기타 접근자를 리플렉션하는 요소의 배열을 반환합니다.
Public 메서드GetAccessors(Boolean)public (또는 지정된 경우 public이 아닌) get, set과 현재 인스턴스에서 리플렉션된 속성의 기타 접근자를 리플렉션하는 요소의 배열을 반환합니다.
Public 메서드GetConstantValue컴파일러에서 속성과 연결한 리터럴 값을 반환합니다.
Public 메서드GetCustomAttributes(Boolean)파생 클래스에서 재정의되는 경우 이 멤버에 적용된 모든 사용자 지정 특성의 배열을 반환합니다. (MemberInfo에서 상속됨)
Public 메서드GetCustomAttributes(Type, Boolean)파생 클래스에서 재정의되는 경우 이 멤버에 적용되고 Type으로 식별된 사용자 지정 특성의 배열을 반환합니다. (MemberInfo에서 상속됨)
Public 메서드GetGetMethod이 속성의 public get 접근자를 반환합니다.
Public 메서드GetGetMethod(Boolean)파생 클래스에서 재정의되는 경우 이 속성에 대한 public 또는 public이 아닌 get 접근자를 반환합니다.
Public 메서드GetHashCode이 인스턴스에 대한 해시 코드를 반환합니다. (MemberInfo.GetHashCode을(를) 재정의함)
Public 메서드GetIndexParameters파생 클래스에 재정의할 때 속성에 대한 모든 인덱스 매개 변수의 배열을 반환합니다.
Public 메서드GetRawConstantValue컴파일러에서 속성과 연결한 리터럴 값을 반환합니다.
Public 메서드GetSetMethod이 속성의 public set 접근자를 반환합니다.
Public 메서드GetSetMethod(Boolean)파생 클래스에서 재정의되는 경우 이 속성에 대한 public 또는 public이 아닌 set 접근자를 반환합니다.
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드GetValue(Object)지정된 개체의 속성 값을 반환합니다.
Public 메서드GetValue(Object, Object())인덱싱된 속성에 대해 선택적인 인덱스 값이 있는 속성의 값을 반환합니다.
Public 메서드GetValue(Object, BindingFlags, Binder, Object(), CultureInfo)파생 클래스에서 재정의되는 경우 지정된 바인딩, 인덱스 및 CultureInfo가 있는 속성 값을 반환합니다.
Public 메서드IsDefined파생 클래스에서 재정의되는 경우 지정된 형식 또는 파생 형식의 특성이 하나 이상 이 멤버에 적용되는지 여부를 나타냅니다. (MemberInfo에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드SetValue(Object, Object)지정된 개체의 속성 값을 설정합니다.
Public 메서드SetValue(Object, Object, Object())인덱싱된 속성에 대해 선택적인 인덱스 값이 있는 속성 값을 지정된 개체에 설정합니다.
Public 메서드SetValue(Object, Object, BindingFlags, Binder, Object(), CultureInfo)파생 클래스에서 재정의되는 경우 지정된 바인딩 제약 조건, 바인더 및 문화권에 따라 지정된 개체의 속성 값을 지정된 값으로 설정합니다.
Public 메서드ToString현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
맨 위

  이름설명
Public 확장 메서드GetCustomAttribute(Type)오버로드. 지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttribute(Type, Boolean)오버로드. 지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성을 검색하고 경우에 따라 해당 멤버의 상위 항목을 검사합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttribute(Of T)오버로드. 지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttribute(Of T)(Boolean)오버로드. 지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성을 검색하고 경우에 따라 해당 멤버의 상위 항목을 검사합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttributes오버로드. 지정한 멤버에 적용되는 사용자 지정 특성의 컬렉션을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttributes(Type)오버로드. 지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성 컬렉션을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttributes(Of T)오버로드. 지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성 컬렉션을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttributes(Of T)(Boolean)오버로드. 지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성 컬렉션을 검색하고 경우에 따라 해당 멤버의 상위 항목을 검사합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드IsDefined지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는지 여부를 나타냅니다. (CustomAttributeExtensions에서 정의됨)
맨 위

속성과 필드는 논리적으로 같습니다. 속성이란 개체의 특성 상태에 이름을 붙인 것으로 그 값은 대개 getset 접근자를 통해 액세스할 수 있습니다. 읽기 전용인 속성도 있으며 이 경우에는 set 접근자가 없습니다.

참고참고:

속성이 static인지 여부를 확인하려면 GetGetMethod 메서드나 GetSetMethod 메서드를 호출하여 get 또는 set 접근자에 대한 MethodInfo를 가져온 다음 IsStatic 속성을 검사해야 합니다.

PropertyInfo에서 ICustomAttributeProvider.GetCustomAttributes을 호출하고 inherit 매개 변수에 대해 true를 지정하면 형식 계층을 검색할 수 없습니다. 상속된 사용자 지정 특성을 나열하려면 Attribute.GetCustomAttributes(MemberInfo, Boolean) 메서드를 사용합니다. 그러나 이 메서드도 System.Attribute에서 파생되는 상속된 사용자 지정 특성만 찾습니다.

다음 예제에서는 리플렉션을 사용하여 인덱싱된 속성의 값을 가져오는 방법을 보여 줍니다. String.Chars 속성은 String 클래스의 기본 속성(C#에서는 인덱서)입니다.

참고참고:

이 예제를 실행하려면 Windows Phone용 정적 TextBlock 컨트롤이 있는 예제 빌드를 참조하세요.


Imports System.Reflection

Class Example

   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock) 

        Dim test As String = "abcdefghijklmnopqrstuvwxyz"

        ' To retrieve the value of the indexed Chars property  using 
        ' reflection, create an instance of PropertyInfo for Chars.
        '
        Dim pinfo As PropertyInfo = GetType(String).GetProperty("Chars")

        ' To retrieve an instance property, the GetValue method
        ' requires the object whose property is being accessed, and 
        ' an array of objects representing the index values. 

        ' Get the seventh character in the test string. 
        ' Note that the index is zero-based.
        Dim indexArgs() As Object = { 6 }
        Dim value As Object = pinfo.GetValue(test, indexArgs)
        outputBlock.Text &= _
            String.Format("The character at index 6 is ""{0}""." & vbLf, value)

        ' Show the complete string, one character at a time.
        For i As Integer = 0 To test.Length - 1
            outputBlock.Text &= pinfo.GetValue(test, New Object() { i })
        Next
        outputBlock.Text &= vbLf

    End Sub

End Class

' This example produces the following output:
'
'The character at index 6 is "g".
'abcdefghijklmnopqrstuvwxyz


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

이 형식은 스레드로부터 안전합니다.

표시:
© 2016 Microsoft