방법: 사용자 지정 특성 검색
업데이트: 2007년 11월
Attribute 클래스의 GetCustomAttribute 또는 GetCustomAttributes 메서드를 사용하여 사용자 지정 특성을 검색할 수 있습니다.
클래스에서 사용자 지정 특성의 단일 인스턴스를 검색하려면
Imports 문을 소스 코드 맨 위에 추가하여 System 네임스페이스에서 Attribute 클래스를 가져옵니다.
Imports System.Attribute
특성을 검색하는 프로시저를 만듭니다.
Sub RetrieveAttribute() End Sub
프로시저 내에서 Attribute 형식의 변수를 선언하고, 검색할 특성과 같은 형식의 다른 변수를 선언합니다.
Dim Attr As Attribute Dim CustAttr As CustomAttribute
GetType 연산자를 사용하여 클래스의 형식과 특성을 GetCustomAttribute 메서드 호출에 전달한 다음 반환된 값을 Attribute로 선언된 변수에 할당합니다.
Attr = GetCustomAttribute(Me.GetType, _ GetType(CustomAttribute), False)
CType 함수를 사용하여 특성의 데이터 형식을 일반 특성에서 검색한 형식의 특정 특성으로 변환합니다. 해당 결과를 사용자 지정 특성 형식으로 선언된 변수에 할당합니다.
CustAttr = CType(Attr, CustomAttribute)
특성이 검색되었는지 확인하고, 검색되었으면 특성의 필드, 속성 및 메서드를 사용합니다.
If CustAttr Is Nothing Then MsgBox("The attribute was not found.") Else 'Get the label and value from the custom attribute. MsgBox("The attribute label is: " & CustAttr.Label) MsgBox("The attribute value is: " & CustAttr.Value) End If
위 예제에서 RetrieveAttribute 프로시저는 System.Attribute 클래스의 GetCustomAttribute 메서드를 호출하여 ThisClass 클래스에 적용된 사용자 지정 특성을 가져옵니다. GetCustomAttribute은 공유 메서드이므로 System.Attribute의 인스턴스를 먼저 만들 필요가 없습니다. CType 함수는 반환된 특성을 System.Attribute 형식에서 사용자 지정 형식 CustomAttribute로 변환합니다.