дал следующий класс структуры:Как отфильтровать объект с указанным типом в общих собраниях в VB
- Class Base {ID}
- Класс Derived1: Base {}
- Класс Derived2: Base {}
- класса MyList: System.Collection.Generic.List (Of Base)
- класса Consumer {список в MyList}
(edit: будет более двух производных классов, я просто перечислял только 2 для простоты)
Я добавляю в MyList следующее свойство, пытаясь ответить на такие вопросы, как «узнать количество элементов с указанным типом, скажем, Derived1, внутри MyList? "
Public Overloads ReadOnly Property Count(ByVal objType As System.Type) As Integer
Get
Dim cnt As Integer = 0
For Each o As Object In Me
If (o IsNot Nothing) And (o.GetType.Equals(objType)) Then cnt += 1
Next
Return cnt
End Get
End Property
Q1: Есть ли что-нибудь для улучшения? Если да, пожалуйста, сообщите.
Заранее спасибо
Спасибо за информацию, но что, если вопрос: «Пожалуйста, выберите из MyList с типом Derived1, а также ID = 'abc'" (поле id из базового класса)? (Идентификатор Derived1 может быть равен ID Derived2) и (MyList не имеет проверки уникальности поля «ID») –