如何在vb.net中设置类属性?

时间:2011-10-07 07:00:29

标签: vb.net setattribute

Python有一个setattr可以动态设置任何类的公共属性。

那么,如何用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有关 - 如果是,请解释如何?

2 个答案:

答案 0 :(得分: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 

答案 1 :(得分:1)

您可以使用DLR和AVD显示的动态对象来完成此操作。

然而像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

哪个接近你想要的。