2012-09-02 5 views
0

나는 리플렉션을 사용하기 시작했으며 약간은 PropertyInfo에 대해 혼란스러워합니다.클래스의 인스턴스가없는 PropertyInfo 얻기

나는 이런 일을하고 그것을 작동 :

Dim x as New MyClass 
Dim prop as PropertyInfo = x.GetType.GetProperty("Name") 

나는 그것에서 속성을 얻기 위해 클래스의 인스턴스가 있어야 내가 왜 이해가 안 돼요. GetType이 Type 개체를 반환하면 왜 형식 자체를 참조 할 수 없습니까?

Dim prop as PropertyInfo = GetType(MyClass).GetProperty("Name") 

또는

정확히 올바른
Dim prop as PropertyInfo = MyClass.GetType.GetProperty("Name") 

답변

1
Dim prop as PropertyInfo = GetType(MyClass).GetProperty("Name") 

.

+0

이 코드 편집기는이 문제를 가지고 있지 않았지만, 오류가 런타임에 있었다. 나는'PropertyInfo'가'T'와 같은 타입이 아니었다 고 말하는'List (ofT) '라는 일반 함수를 가지고 있습니다. 코드를 'Dim My as New MyClass' 예제로 변경하면 제대로 작동합니다. – Origin

+0

@Origin :이 경우 문제가있는 실제 코드를 보여주십시오. 위의 내용은 정상적으로 _ 괜찮습니다. –

+0

나는 이것을 다시 보았고이 방법으로 코드를 다시 시도해 보았다. 지난 번에 다른 문제가 있었을 것입니다. – Origin

0

더 안전한 방법 :

Dim prop as PropertyInfo = GetType(MyClass).GetProperty(NameOf(MyClass.MyProperty)) 
관련 문제