vb.net - 在运行时定义/声明一个对象 VB.Net
问题描述
我使用对象来存储信息。问题是,当我编译我的应用程序时,我不知道我必须存储什么信息。例如,用户创建信息颜色并在其中存储红色,我想创建一个对象,如:
Public Class Information_Object
Public Property general As Integer
Public Property date As DateTime
Public Property color As String = "red"
End Class
有没有办法在运行时定义一个对象?
解决方案
您不能在运行时声明对象/类,但您可以创建一个通用对象并在运行时重新调整它的用途。例如,您可以声明一个包含各种变量的对象,其中包括一个描述如何使用该对象的变量。
这预先假定您可以定义对象在加载了值后将如何使用。
所以,这样的事情可能会有所帮助:
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 以进行必要的处理。
笨重??也许,但它可能会满足您的需求。
推荐阅读
- python - 如何使用脚本从 DVR 移动和重命名图像?
- reactjs - 重新渲染时反应动态键
- android - 虚拟设备启动黑屏;不运行代码;金鱼管
- spring - 嗨,这可能是弹簧自动装配的相同问题,但我仍然找不到解决方案
- c++ - 如何通过正则表达式 C++ 获取网址?
- python - 使用登录页面进行网页抓取
- javascript - 从本地存储反应导入图像
- amazon-web-services - AWS Athena - GENERIC_INTERNAL_ERROR:分区值的数量与过滤器的数量不匹配
- python - itertool组合倾倒
- excel - 如果名称是 X,则从 Excel 的 Z 工作表中插入 Y 电话号码