사용자가 특정 사용자 지정 목록 컨트롤에서 다른 응용 프로그램의 다른 인스턴스에있는 두 번째 목록 컨트롤에있는 데이터 행을 끌어다 놓을 수 있도록 시도하고 있습니다. parameterTypedListView.SelectedObjects
는 T 만 포함하는 사용자 정의 클래스입니다 일반은 IList가인스턴스 간 드래그 앤 드롭 데이터
DoDragDrop(parameterTypedListView.SelectedObjects, DragDropEffects.Copy);
는 필드/속성으로 value 형.
OnDragDrop 이벤트에서이 데이터를 추출하려고 시도하지만 System.MarshalByRefObject
에서 상속 된 것으로 보이는 System.__ComObject
개체 만 가져옵니다.
요약하면 : 실제로 사용할 수있는 객체 지향 형식으로 데이터를 추출하려면 어떻게합니까?
편집 : 내 맞춤 클래스를 직렬화 가능으로 설정하면 아무런 효과가 없습니다. 나는 __ComObject 열거 할 수 있습니다 :
foreach (var dataObject in (IEnumerable) e.Data.GetData("System.Collections.ArrayList"))
{
// this actually enumerates the correct number of times, i.e. as many times as there are items in the list.
}
을하지만, 모든 데이터 객체 내가 아무것도 유용에 캐스트 할 수없는 시스템 .__하여 ComObject, 그 자체입니다.
... 인스턴스에서 작동? – Konstantinos
@ Konstantinos, 네, 같은 응용 프로그램의 여러 인스턴스. –