动态创建类实例

时间:2015-09-21 09:15:10

标签: vb.net class object dynamic instantiation

有没有办法动态创建类实例并在以后引用它们?我有一个课程,有各种方法和属性,旨在保持和计算产品数据。我希望该应用程序能够处理与用户需求一样多的单个产品。这段代码显然不起作用,但它应该让你知道我在问什么:

For x = 1 To howEverMany

    Dim product_ & x.ToString() As New myProductClass

Next x

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

1 个答案:

答案 0 :(得分:0)

将它们存储在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

通过它获得一个人的身份:

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

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