Если вы используете ключевое слово is
и as
для управления ветвлением, есть большая вероятность, что вы не используете полиморфизм .
Если вы хотите иметь элементы управления, которые могут отображать свое собственное состояние на основе логики в вашей программе, одним из более чистых подходов будет создание подкласса каждого элемента управления и переопределение ToString()
.
Поместите логику для создания текстового представления в элементе управления, а не в коде, который использует несколько элементов управления (насколько сложной будет ваша логика ветвления, если вы добавите 10 новых типов элементов управления?)
Наконец, я бы использовал foreach
вместо while
с жестко запрограммированным числом для итерации элементов управления.