2

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 で可能ですか? はいの場合、その方法を説明してください。

4

2 に答える 2

1

これは、AVD が示したように、DLR と動的オブジェクトを使用して行うことができます。

ただし、impromptu -interface のようなものを使用すると、これが簡単になります。ここにそれに関するブログがあります。

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

これはあなたが望むものに近いです。

于 2011-10-07T07:43:05.950 に答える
1

VB.NET にはそのような機能はありません。プロパティを手動で定義する必要があります。

例 -匿名型。

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 
于 2011-10-07T07:15:21.120 に答える