2011-10-07 125 views
2

Python有一个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中没有这样的功能。您必须手动定义属性

例如 - 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

为此,您可以通过使用DLR和喜欢AVD动态物体表现。

但是像impromptu-interface将使这个eassier你。这是关于它的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 

这是接近你想要的是什么。