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 で可能ですか? はいの場合、その方法を説明してください。
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 で可能ですか? はいの場合、その方法を説明してください。
これは、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
これはあなたが望むものに近いです。
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