2009-09-15 43 views
2

有没有一种方法可以在运行时使用自检在运行时动态创建属性?在运行时在VB .NET中构造动态属性

例如假设我有一个类

Public Class Foo 
    Public Property Bar() As String 
     get 
      ... 
     end get 
     set(ByVal value As String) 
      ... 
     end set 
End Class 

有没有办法在运行时创建属性栏?

谢谢!

回答

3

答案是Reflection.Emit。编码并不是很有趣,但是可以做到你想要的。

+0

此链接导致“此主题不再可用”,如果您想更新它 – rogerdeuce 2015-09-01 19:51:28

3

如果您只想要一个动态变量列表,您可以随时将字典对象设置为类的成员,然后使用方法设置或获取特定的字典项。

1

再加上我的评论,你可以添加一个索引器到你的类 - 它可以让你获得/设置成员变量。

编辑:我很抱歉。我不知道vb.net没有索引器。
但仍然可以编写带有支持字典的代码,它可以像索引器一样工作

+0

+1谢谢 - Larry – 2010-07-23 03:00:29

1

不幸的是,没有办法改变运行时类的结构。元数据在编译时是固定的,并且在运行时不变。

对于Nitpickers :)

这不是100%为真。分析和ENC API允许您在运行时更改元数据的结构。但这两种方案都不适用。

相关问题