Mam 2 formanty jeden formularz: lista i drzewo (nazwy konkretnych typów są nieistotne).Przeciągnij i upuść niestandardowy obiekt
W sterowaniu listą wykonuję metodę DoDragDrop. Jako pierwszy argument przekazuję obiekt, który był danymi związanymi z tym wierszem. Obiekt implementuje określony interfejs i jest oznaczony atrybutem Serializable.
To, czego chcę, to odzyskanie tego obiektu w procedurze obsługi zdarzeń DragEnter/DragDrop kontrolki drzewa. Używam następujący kod:
void TreeControlDragEnter(object sender, DragEventArgs e)
{
var formats = e.Data.GetFormats();
var data = e.Data.GetData(typeof (IFoo));
}
Niestety, w wyniku danych jest nieważna i formatów jest tablicą jeden element, który posiada nazwę konkretnego typu (wykonawczego IFoo). Zakładam, że będę musiała przekazać dokładną nazwę typu do GetData, aby odzyskać obiekt, ale nie jest to możliwe, ponieważ jest to klasa prywatna.
Czy istnieje sposób na uzyskanie obiektu przez jego interfejs?