문제

내성을 사용하여 VB .NET에서 런타임에 속성을 동적으로 생성하는 방법이 있습니까?

예를 들어 수업이 있다고 가정 해 봅시다

Public Class Foo
   Public Property Bar() As String
       get 
           ...
       end get
      set(ByVal value As String)
          ...
      end set
End Class

런타임에 속성 막대를 만들 수있는 방법이 있습니까?

감사!

도움이 되었습니까?

해결책

정답은 반사. 코드에 대한 재미는 없지만 원하는대로합니다.

다른 팁

동적 변수 목록을 원한다면 언제든지 클래스 구성원으로 사전 객체를 설정 한 다음 방법으로 특정 사전 항목을 설정하거나 얻을 수 있습니다.

내 주석에 추가하면 클래스에 인덱서를 추가 할 수 있습니다.이를 통해 회원 변수를 얻거나 설정할 수 있습니다.

편집 : 죄송합니다. vb.net에 인덱서가 없다는 것을 몰랐습니다.
그러나 여전히 인덱서처럼 작동 할 수있는 Backing Dictionary와 함께 코드를 작성할 수 있습니다.

불행히도 클래스 런 타임의 구조를 변경할 수있는 방법은 없습니다. 메타 데이터는 컴파일 시간에 고정되어 있으며 런타임에 변경되지 않은 실행됩니다.

nitpickers를 위해 :)

이것은 100% 사실이 아닙니다. 프로파일 링 및 ENC API를 사용하면 런타임에 메타 데이터 구조를 변경할 수 있습니다. 그러나이 시나리오에는 실제로 적용 할 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top