У меня есть 2 элемента управления, одна форма: список и дерево (имена определенных типов не имеют значения).
В элементе управления списком я выполняю метод DoDragDrop.В качестве первого аргумента я передаю объект, который был связан с данными этой строки.Объект реализует определенный интерфейс и помечен атрибутом Serializable.
Я хочу получить этот объект в обработчике событий DragEnter / DragDrop элемента управления tree.Я использую следующий код:
void TreeControlDragEnter(object sender, DragEventArgs e)
{
var formats = e.Data.GetFormats();
var data = e.Data.GetData(typeof (IFoo));
}
К сожалению, в результате данные имеют нулевое значение, а форматы представляют собой одноэлементный массив, содержащий имя определенного типа (реализующий IFoo).Я предполагаю, что мне нужно было бы передать точное имя типа в GetData для извлечения объекта, но это невозможно, поскольку это закрытый класс.
Есть ли способ получить объект по его интерфейсу?