2017-09-25 16 views
2

私はすべてのクラスで使用できる汎用式を作成しようとしています。タイプTが定義されていません

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を使うには?

+2

(Tの) '機能テスト(文字列フィールド)(T、列の)のFunc' – LarsTech

答えて

3

タイプ変数を宣言する必要があります。あなたのメソッドのシグネチャは次のように変更します。

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

ああとして、理にかなっています。どのように簡単、ありがとう – Andrew

関連する問題