首页 > 解决方案 > 在运行时定义/声明一个对象 VB.Net

问题描述

我使用对象来存储信息。问题是,当我编译我的应用程序时,我不知道我必须存储什么信息。例如,用户创建信息颜色并在其中存储红色,我想创建一个对象,如:

  Public Class Information_Object
    Public Property general As Integer
    Public Property date As DateTime
    Public Property color As String = "red"
End Class

有没有办法在运行时定义一个对象?

标签: vb.netobjectruntime

解决方案


您不能在运行时声明对象/类,但您可以创建一个通用对象并在运行时重新调整它的用途。例如,您可以声明一个包含各种变量的对象,其中包括一个描述如何使用该对象的变量。

这预先假定您可以定义对象在加载了值后将如何使用。

所以,这样的事情可能会有所帮助:

Public ENUM Consume_As
   Colour
   Number
   Datetime
... and so on. Anything you like
End Enum

Public Class My_Dynamic_Object
  '
  '... You will have to create your GET/SET lines
'
'This is what tells your sstem how to consume data held in this class
  Public _comsume_as AS Consume_As

'Here is where you can store your data
'This can be anything you like
'a colour, dataset, another custom class ...
  Public Class_Variable_1 AS Object

End Class

现在您可以创建一个 My_Dynamic_Object 字典,其中包含您在运行时创建的任意数量的条目。每个 My_Dynamic_Object 都可以包含对 [ENUM Consume_AS] 的引用,以确定应如何处理 My_Dynamic_Object 以及 Class_Variable_1 中您喜欢的任何内容。

您将需要编写必要的代码来移交 My_Dynamic_Object.Class_Variable_1 以进行必要的处理。

笨重??也许,但它可能会满足您的需求。


推荐阅读