【问题标题】:Constructing Dynamic Properties at Runtime in VB .NET在 VB .NET 中在运行时构造动态属性
【发布时间】:2010-11-28 13:59:17
【问题描述】:

有没有办法在运行时使用自省在 VB .NET 中动态创建属性?

例如假设我有一堂课

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

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

谢谢!

【问题讨论】:

    标签: .net vb.net dynamic properties introspection


    【解决方案1】:

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

    【讨论】:

    • 此链接导致“此主题不再可用”,仅供参考,以防您想更新它
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      进一步补充我的评论,您可以向您的类添加一个索引器 - 它可以让您获取/设置成员变量。

      编辑:对不起。我不知道 vb.net 没有索引器。
      但是仍然可以使用支持字典编写代码,它可以像索引器一样工作

      【讨论】:

        【解决方案4】:

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

        对于挑剔者:)

        这不是 100% 正确的。分析和 ENC API 允许您在运行时更改元数据的结构。但两者都不适用于这种情况。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-08-13
          • 2017-04-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多