| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Получение ссылки на базовый класс при drag&drop |
| Автор: Kuvaldis 11.2.2008, 12:03 | ||||
| Ребята, всем доброго времени суток! У меня такая проблема: объекты различных классов перетаскиваются из одного контрола в другой. При приеме события желательно (даже очень) получить из них объект базового класса, чтобы потом использовать все преимущества полиморфизма, а не кучу блоков if. Но проблема в том, что для получения объекта мне приходится использовать проверку на тип вида e.Data.GetDataPresent(typeof(InvComputer)) Соотвественно, весь полиморфизм - коту под хвост. Как выкрутиться? При посылке:
Базовый класс InvComputer, дочерний - InvComputerPE При приеме:
В общем, прошу совета |
| Автор: tol05 11.2.2008, 12:29 | ||
| вместо я бы использовал конструкцию вида
насчет проверки на базовый и дочерний... Если объект совместим с InvComputerPE, то он будет совместим и с InvComputer, ведь InvComputerPE - это наследник InvComputer? Так что проверку на базовый класс делать не нужно. А насчет полиморфизма... Проверки на совместимость с тем или иным типом делать все равно нужно. И нужно указать какой из "тех или иных" |
| Автор: Kuvaldis 23.2.2008, 10:52 |
| tol05, прав, спасибо! |