关于列表和对象

时间:2012-10-23 14:27:41

标签: asp.net-mvc vb.net asp.net-mvc-3

这有效:

data.Add(New Object() {activityDate, types("Aerobics - low"), types("Aerobics - high")})

但是,我需要第二个和第三个变量是数据库驱动的(来自以下示例中的List):

Dim var1 = New List(Of Object)
var1.Add(types("Aerobics - low"))
var1.Add(types("Aerobics - high"))
data.Add(New Object() {activityDate, var1.ToList})

这似乎不起作用。如何将我的对象放在另一个对象中?

修改

我也尝试了data.Add(New Object() {activityDate, var1.ToArray}),但这也不起作用。我只想将列表中的动态元素放到上面格式的对象中。

谢谢。

3 个答案:

答案 0 :(得分:2)

尽量避免创建List(Of Object),因为这可能导致许多令人头痛的问题。 相反,退后一步,想想你需要什么。您希望看到哪些数据元素并一起使用?然后创建一个类,定义满足您的解决方案的属性。

Public Class MyStuff
    Public Property ActivityDate() As DateTime
    Public Property Activities As List(Of Object)
End Class

然后你可以:

data.Add(new MyStuff(){ActivityDate = activityDate,Activities = var1}

答案 1 :(得分:1)

您应该能够使用标准语法来制作匿名对象:

data.Add(New With { .activityDate = activityDate, .List = var1.ToList() });

答案 2 :(得分:0)

我相信我明白了。我是这样做的:

Dim var1 = New List(Of Object)
var1.Add(activityDate)
var1.Add(types("Aerobics - low"))
var1.Add(types("Aerobics - high"))
data.Add(var1.ToArray)