que tienen 2 controles uno una forma: Lista y un árbol (nombres de tipos específicos son irrelevantes).arrastrar y soltar objetos personalizados
En el control de lista ejecuto método DoDragDrop. Como primer argumento paso un objeto que estaba vinculado a esa fila. El objeto implementa una interfaz específica y está marcado con un atributo Serializable.
Lo que yo quiero es posible recuperar ese objeto en DragEnter/controlador de eventos DragDrop del control de árbol. Estoy utilizando el siguiente código:
void TreeControlDragEnter(object sender, DragEventArgs e)
{
var formats = e.Data.GetFormats();
var data = e.Data.GetData(typeof (IFoo));
}
Por desgracia, en consecuencia los datos es nula y formatos es una matriz de un solo elemento que contiene el nombre del tipo específico (aplicación de IFoo). Supongo que tendré que pasar el nombre de tipo exacto a GetData para retreve el objeto, pero no es posible ya que es una clase privada.
¿Hay una manera de conseguir el objeto por su interfaz?