Мой наиболее часто используемый мини-шаблон:
VideoLookup = new ArrayList { new ArrayList { buttonVideo1, "Video01.flv" },
new ArrayList { buttonVideo2, "Video02.flv" },
new ArrayList { buttonVideo3, "Video03.flv" },
new ArrayList { buttonVideo4, "Video04.flv" },
new ArrayList { buttonVideo4, "Video04.flv" }
};
Это означает, что вместо оператора switch с регистром для каждой кнопки я могу вместо этого просто сравнить кнопку, которая была нажата, с каждым элементом в ArrayList. Затем, когда я нашел совпадение, я запускаю правильный файл (хотя действие, которое является второй частью, «поиск» может быть делегатом или чем-то еще).
Основным преимуществом является то, что у меня нет проблемы с запоминанием добавления всего правильного кода для каждого случая оператора switch, я просто добавляю новый элемент в поисковый ArrayList.
(Да, я знаю, использование ArrayList - не лучший способ, но это старый код. И я знаю, что циклический просмотр массива каждый раз не так эффективен, как использование оператора switch, но это код не зациклен)
У кого-нибудь есть какие-нибудь мини-шаблоны, которые они используют, которые экономят время / усилия или делают код более читабельным? Они не обязательно должны быть связаны с графическим интерфейсом .
Обновление: Не копируйте этот код, я знал, что это плохо, но я не осознавал, насколько это плохо. Вместо этого используйте что-то подобное.
Hashtable PlayerLookup = new Hashtable();
PlayerLookup.Add(buttonVideo1, "Video01.flv");
PlayerLookup.Add(buttonVideo2, "Video02.flv");
PlayerLookup.Add(buttonVideo3, "Video03.flv");
PlayerLookup.Add(buttonVideo4, "Video04.flv");
string fileName = PlayerLookup[currentButton].ToString();