【发布时间】:2015-12-17 22:19:32
【问题描述】:
有没有办法即时创建类实例并在以后引用它们?我有一个具有各种方法和属性的类,旨在保存和计算产品数据。我希望该应用程序能够处理用户需要的尽可能多的单个产品。这段代码显然不起作用,但它应该让你知道我在问什么:
For x = 1 To howEverMany
Dim product_ & x.ToString() As New myProductClass
Next x
我很欣赏这可能不是最好的方法(我可能应该使用列表或数组来保存产品数据),但我很好奇从技术角度来看这是否可行。我正在使用 VB.Net,但欢迎使用任何 .Net 语言的答案。谢谢。
【问题讨论】:
-
当然,这是可能的。例如,如果您将类存储在另一个 .NET 程序集中,您可以反映该程序集并实例化该类,然后引用它并在以后调用它,绝对如此。但您需要向我们提供更多信息。这些类在您现有的项目中吗?您可能希望使其更加面向对象,并有一些工厂方法来根据参数创建正确类型的类。
-
使用数组代替
product_X? -
谢谢。主要的是,需要的类实例的数量是可变的——用户可能需要任何数量,我需要能够在任何这些不同的类实例中调用方法和设置属性。具体来说,用户从未知数量的 Excel 文件中加载数据,我想知道在技术上是否可行(即使不理想)实例化一个表示每个工作簿中数据的类。该类已在我的项目中定义。
-
感谢 MicroVirus,但正如我所说,这更像是“我想知道是否......?”问题大于实际问题。我已经在使用数组了 :)
标签: vb.net class object dynamic instantiation