动态创建 class 个实例

Dynamic creation of class instances

有没有什么方法可以即时创建 class 实例并在以后引用它们?我有一个 class 具有各种方法和属性,旨在保存和计算产品数据。我希望该应用程序能够处理用户需要的尽可能多的单个产品。这段代码显然行不通,但它应该让您了解我在问什么:

For x = 1 To howEverMany

    Dim product_ & x.ToString() As New myProductClass

Next x

我知道这可能不是最好的方法(我可能应该使用列表或数组来保存产品数据),但我很好奇从技术角度来看这是否可行。我正在使用 VB.Net,但欢迎使用任何 .Net 语言回答。谢谢

将它们存储在 List(Of T) 中。然后您可以对列表中的一个或多个对象进行 LINQ。

'class level
Private Products As New List(Of myProductClass)

'place where you load them
For x As Integer = 1 To howEverMany
  Dim myc As New myProductClass
  mpc.Id = x
  'set other properties as needed
  Products.Add(mpc)
Next

通过 ID 获取一个:

Dim mpc4 = (From p In Products Where p.Id = 4).FirstOrDefault
If Not mpc4 Is Nothing Then
  'object exists
End If

您也可以在列表中进行其他类似查询。