Хочу виртуальные Extension-методы
От: AngeL B. Россия  
Дата: 22.05.08 08:59
Оценка:
Возникла у меня тут задача такая. Я пишу набор методов расширения для Binding-а свойств объектов на элементы управления с попутной доводкой всяких параметров этих элоементов до нужных (иногда это зависит от типа свойств, которые крепятся к элементу).
В результате получается нечто типа

public static void SpecialSetProps(this TextEdit control, string propertyName, ... )    //(1)
{
}

public static void SpecialSetProps(this DateEdit control, string propertyName, ... )   //(2)
{
}

public static void SpecialSetProps(this BaseControl control, string propertyName, ... )  //(3)
{
}

public static void Bind(this BaseControl control, string propertyName, ... )
{
    тра-ля-ля();
    SpecialSetProps(control, propertyName, ...);   //вот тут как Вы понимаете будет вызвана ф-я (3)
}


Собственно вопрос очевиден. Существуют ли уже наработанные методики решения этой задачи кроме как

if( control is TextEdit ) ...

или заведения специального Dictinary (то есть по сути реализации виртуальной таблицы вручную)?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.