有没有办法在运行时使用自省在 VB .NET 中动态创建属性?
例如,假设我有一堂课
Public Class Foo
Public Property Bar() As String
get
...
end get
set(ByVal value As String)
...
end set
End Class
有没有办法在运行时创建属性 Bar ?
谢谢!
有没有办法在运行时使用自省在 VB .NET 中动态创建属性?
例如,假设我有一堂课
Public Class Foo
Public Property Bar() As String
get
...
end get
set(ByVal value As String)
...
end set
End Class
有没有办法在运行时创建属性 Bar ?
谢谢!
如果你只想要一个动态的变量列表,你总是可以设置一个字典对象作为你的类的成员,然后用一个方法设置或获取一个特定的字典项。
答案是Reflection.Emit。编码不是很有趣,但可以做你想做的事。
进一步添加我的评论,您可以向您的类添加一个索引器 - 它可以让您获取/设置成员变量。
编辑:对不起。我不知道 vb.net 没有索引器。
但是仍然可以使用支持字典编写代码,它可以像索引器一样工作
不幸的是,没有办法在运行时改变类的结构。元数据在编译时固定,在运行时运行不变。
对于挑剔者:)
这不是 100% 正确的。分析和 ENC API 允许您在运行时更改元数据的结构。但两者都不适用于这种情况。