未定义类型T.

时间:2017-09-25 17:22:56

标签: vb.net generics

所以我正在尝试创建一个可以在我所有类中使用的泛型表达式。

 Function Test(field As String) As Func(Of T, String)
        Dim xParam = Expression.Parameter(GetType(T), "o")
        Dim prop = Expression.Property(xParam, GetType(T).GetProperty(field))
        Dim lambda = Expression.Lambda(Of Func(Of T, String))(prop, xParam)
        Return lambda.Compile()
    End Function

然而,T未定义。如何在VB.NET中使用T?

1 个答案:

答案 0 :(得分:3)

您必须声明类型变量。将您的方法签名更改为:

Function Test(Of T)(field As String) As Func(Of T, String)