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