我有一个接口,像这样:VB.NET值类型的“类”被转换为“类型”
Public Interface IDescriptionIdentityPair
Property Id() As String
Property Description() As String
End Interface
我有一个类,如下所示:
Public Class DescriptionIdentityPair : Implements IDescriptionIdentityPair
Public Property Id As String Implements IDescriptionIdentityPair.Id
Public Property Description As String Implements IDescriptionIdentityPair.Description
Public Overrides Function ToString() As String
Return Description
End Function
End Class
我有一种方法像这样:
Public Shared Function AddEmptyRow(Of T As IDescriptionIdentityPair)(ByVal collection As IList(Of T)) As IList(Of T)
Dim AddEmptyRowToCollection = collection
collection.Insert(0, New DescriptionIdentityPair With {.Id = "", .Description = FxApplication.DefaultText})
Return collection
End Function
我正在试图插入DescriptionIdentityPair类的新实例时,编译时错误,这种类型的价值。“ DescriptionIdentityPair“不能转换为T.我甚至尝试将DescriptionIdentityPair转换为它的接口(绝望),但这并没有解决问题。
为什么在所有返回列表?任何调用'AddEmptyRow'方法的代码都已经清楚地引用了列表。 –
@StevenDoggart为了使方法链可能? – MarcinJuraszek
@MarcinJuraszek是的,我认为这将是唯一有效的原因。我只是怀疑它可能不是有任何好的理由。 –