在VB.Net中使用匿名对象类型来创建泛型类对象

时间:2016-11-15 16:07:25

标签: vb.net generics anonymous-types

我有一个接受object类型参数的函数,它是在别处生成的匿名类型。我也有一个泛型类,我试图创建一个使用该匿名类型作为传递给泛型类的类型的实例。但我无法让它发挥作用。

所以这里基本上是我的泛型类:

Class Foo(Of T)
  ...
End Class

所以在我的函数中我有这样的东西:

Public Sub MyFunction(data As Object)
  'data is an anonymous Type

  dim item = new Foo(Of ??)
End Sub

我无法弄清楚要为新Foo系列提供什么才能让它发挥作用。我尝试过的一件事是在Foo上创建一个接受类型为T的参数的构造函数,以便从中推断出类型,但是当我调用构造函数时,这会给我这个编译错误:

'Foo(Of T)'的类型参数太少

如何让它工作,以便泛型类接受匿名类型?

1 个答案:

答案 0 :(得分:0)

MyFunction dataobject更改为T

Public Sub MyFunction(Of T)(data As T)
    Dim item = New Foo(Of T)()
End Sub
相关问题