Как искать в списке, не зная, какие объекты он содержит? - PullRequest
1 голос
/ 21 ноября 2011

У меня есть ListBox, и я привязываю к нему список объектов, тип которого будет фактически принадлежать моим классам DataModel, но я хочу знать, какой из них.хочу иметь возможность искать в listBox любой элемент, содержащий ключевое слово, которое я хочу.
Я знаю имя свойства, которое хочу найти в зависимости от него (это свойство DisplayMember).
Есть ли способ добиться этого

Ответы [ 2 ]

3 голосов
/ 21 ноября 2011

Я бы реализовал самоописываемый интерфейс ISearchable на ваших объектах модели данных.

Затем вы можете циклически перебирать каждый из элементов в списке и спрашивать базовый объект через интерфейс, соответствует ли онусловия поиска.

Другая возможность заключается в использовании отражения для получения значения из каждой записи с использованием свойства DisplayMember, но я лично предпочитаю интерфейсный подход, поскольку его можно использовать повторно в других ситуациях.

2 голосов
/ 21 ноября 2011

Все ваши классы моделей могут реализовывать интерфейс

public interface IDisplayable {
    string DisplayValue{ get; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...