Создание ListViewItems, которые знают, как создать себя, является хорошей идеей.
Если вы немного расширите эту идею, вы дадите столбцам знать, как создать каждый подэлемент, что также позволит им автоматически сортировать ListView, поддерживать группирование и копировать / перетаскивать и отбрасывать строки. Это всего лишь несколько вещей, которые ObjectListView делает для вас.
ObjectListView - это оболочка с открытым исходным кодом для элемента управления .NET WinForms ListView, которая значительно упрощает использование ListView, а также добавляет некоторые очень приятные новые функции и позволяет обойти некоторые досадные ошибки / ограничения.
Если вам понравилась идея @ Rex об использовании BindingSource
, проект ObjectListView также предоставляет данные DataListView
, которые можно привязать к данным.