Я пытаюсь определить, почему этот тип не сериализуем (как проверено Type.IsSerializable()
)
<Serializable()> _
Public MustInherit Class WellKnownInstanceCollectionWithTypedId(Of T As WellKnownInstanceWithTypedId(Of IdT), IdT)
Inherits ReadOnlyCollection(Of T)
Public Sub New(ByVal list As IList(Of T))
MyBase.New(list)
End Sub
Public Function GetById(ByVal id As IdT) As T
Return Me.FirstOrDefault(Function(item) item.Id.Equals(id))
End Function
End Class
Я знаю, что это как-то связано с моей функцией GetById
, потому что если яубери что все нормально.Может кто-нибудь сказать мне, что мне нужно изменить, чтобы этот тип был сериализуемым?
Обновление:
Когда я изменяю свою реализацию GetById
как таковую, все нормально,Очевидно, что это как-то связано с Linq (как предложено ниже) - кто-нибудь может дать мне дополнительную информацию о том, почему это так?
Public Function GetById(ByVal id As IdT) As T
For Each i In Me
If i.Id.Equals(i) Then
Return i
End If
Next
Return Nothing
End Function