Необходимо создать некоторый метод для инициализации всех объектов обладающими свойствами DataSource и методом DataBind()
например это GridView, Repeater, ListView, DropDownList и пр. контролы.
Но к сожалению данная часть DataBinding не вынесена в отдельный обший класс и например для DataGridView реализованны в самом классе.
Попробовал сделать следующим образом
public interface IDataBinding
{
object DataSource { get; set; }
void DataBind();
}
public void InitDataSource( IDataBindingObject obj )
{
obj.DataSource = ....
obj.DataBind()
}
public void Form_Load( .. )
{
InitDataSource( dataGridView1 as IDataBinding )
}
приведение к IDataBinding не ругается, эксепшенов не кидает но внутри процедуры InitDataSource оbj = null, хотя на входе dataGridView1 не null.
Собственно вопрос как правильно описать такой вот обобщенный метод для инициализации объектов имеющих интерфейс IDataBinding.
в дотнете если что-то выглядит как утка, ходит как утка и крякакет как утка, то это не обязательно утка
DuckTyping'а нету. значит нужно явно заимплиментить интерфейсы.
либо отнаследоваться от стандартных классов, либо обернуть их
... << RSDN@Home 1.2.0 alpha 4 rev. 1227>>
Здравствуйте, cvetkov, Вы писали:
C>в дотнете если что-то выглядит как утка, ходит как утка и крякакет как утка, то это не обязательно утка
C>DuckTyping'а нету. значит нужно явно заимплиментить интерфейсы.
В "дотнете" как раз дак-тайпинг есть, например в VB. В шарпе будет в четвёртой версии языка.
Здравствуйте, _FRED_, Вы писали:
_FR>В "дотнете" как раз дак-тайпинг есть, например в VB. В шарпе будет в четвёртой версии языка.
Да. я все время забываю про VB
а вот в шарпе это видеть не хотелось бы.
... << RSDN@Home 1.2.0 alpha 4 rev. 1227>>