2011-10-07 7 views
2

파이썬에는 어떤 클래스에 대해서도 공개 속성을 설정하는 setattr이 있습니다.vb.net에서 클래스 속성을 설정하는 방법은 무엇입니까?

VB.net에서 어떻게 그렇게 할 수 있습니까?

는 말은 :

Public Class abc 
    ... 
End Class 

' Set it as : 
abc.setattr("prop", 5) 

' Use it as : 
Dim ob As New abc 
value = abc.prop 

는 VB.net으로이 가능 - 예, 어떻게 설명해주십시오?

답변

1

VB.NET에는 이러한 기능이 없습니다. 속성을 수동으로 정의해야합니다. 예를 들어

- DLR에와 AVD 같은 동적 객체를 사용하여이 작업을 수행 할 수 Anonymous types.

Dim obj = New With {.No = 10, .Name = ""} 
obj.Name = "Mr.X" 

또는

명명 된 유형

Public Class Abc 
    Public Property No As Integer 
    Public Property Name As String 
End Class 
+0

스냅 .. 어쨌든 .. 감사합니다! –

+1

리플렉션을 사용하여 VB에서 setattr을 다시 생성 할 수 있습니다. –

1

보여 주었다.

그러나 impromptu-interface과 같은 것으로이 어쌔신이됩니다. 그것에 대해 blog 있습니다.

Dim c As Object = Builder.[New]() 
Dim abc = c.abc(New With {.prop = 5}) 

또는 당신이 원하는 무엇에 가까운

Dim c As Object = Builder.[New]() 
Dim abc = c.abc 
abc.("prop") = 5 

.