T对象列表的属性

时间:2013-10-11 05:22:23

标签: vb.net list visual-studio-2012 types member

在Visual Basic.net中,如果我有一个T列表,其中Type是一个始终具有.Name属性的对象,我如何编写一个返回.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

我收到以下错误:

  

名称'不是'T'的成员

1 个答案:

答案 0 :(得分:0)

您需要在泛型方法上指定约束。具体而言,您的GetListOfListItemNames(Of T)应定义为GetListOfListItemNames(Of T As BaseType),其中BaseType是您希望包含在列表中的类型。

我在很大程度上不熟悉VB.Net,所以我的语法可能不正确。但是对通用约束的需求不是:

有关具体信息,请参阅:http://msdn.microsoft.com/en-us/library/w256ka79.aspx