0

Visual Basic.net で、Type が常に .Name プロパティを持つオブジェクトである T のリストがある場合、.Name 値を返す関数をどのように記述できますか?

これが私のコードです:

Public Function GetListOfListItemNames(Of T)(ListOfItems As List(Of T)) As List(Of String)
    Dim ListToReturn As New List(Of String)
    For x = 0 To ListOfItems.Count - 1
        ListToReturn.Add(ListOfItems.Item(x).Name)
    Next
    Return ListToReturn
End Function

次のエラーが表示されます。

Name' は 'T' のメンバーではありません

4

1 に答える 1

0

ジェネリック メソッドに制約を指定する必要があります。具体的には、リストに含まれると予想されるタイプはwhereGetListOfListItemNames(Of T)として定義する必要があります。GetListOfListItemNames(Of T As BaseType)BaseType

私は VB.Net にあまり詳しくないので、構文が間違っている可能性があります。ただし、一般的な制約の必要性は次のとおりではありません。

詳細については、http: //msdn.microsoft.com/en-us/library/w256ka79.aspxを参照してください。

于 2013-10-11T05:27:49.450 に答える