在 VB.Net 使用匿名对象类型创建通用 class 对象
In VB.Net using an anonymous object type to create a generic class object
我有一个函数接受一个对象类型的参数,它是在别处生成的匿名类型。我还有一个泛型 class,我正在尝试创建一个使用该匿名类型作为传递给泛型 class 的类型的实例。但是我无法让它工作。
所以这基本上就是我的通用 class:
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)'
的类型参数太少
我如何让它工作以便泛型 class 接受匿名类型?
将 MyFunction
data
从 object
更改为 T
。
Public Sub MyFunction(Of T)(data As T)
Dim item = New Foo(Of T)()
End Sub
我有一个函数接受一个对象类型的参数,它是在别处生成的匿名类型。我还有一个泛型 class,我正在尝试创建一个使用该匿名类型作为传递给泛型 class 的类型的实例。但是我无法让它工作。
所以这基本上就是我的通用 class:
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)'
的类型参数太少我如何让它工作以便泛型 class 接受匿名类型?
将 MyFunction
data
从 object
更改为 T
。
Public Sub MyFunction(Of T)(data As T)
Dim item = New Foo(Of T)()
End Sub