DataObject 인스턴스를 사용하여 Type을 데이터로 전달해야합니다. 다음 코드를 시도했지만 결과는 null입니다.Type 개체가 데이터 인 C# DataObject
DataObject data = new DataObject(typeof(String));
Type result = (Type)data.GetData(typeof(Type)); //expected result to be typeof(String)
다음과 같은 작업을하려고하지만 String 개체 대신 Type 개체를 사용하고 있습니다.
DataObject data = new DataObject("abc");
String result = (String)data.GetData(typeof(String)); //the result is "abc"
DataObject를 사용하여 Type 개체를 전달할 수없는 이유는 무엇입니까?
--- EDIT1 --- 내가 실제로 DragEventArgs.Data.GetData
방법은 null
을 반환 이유를 알아 내기 위해 System.Windows.DataObject
을 사용하고
. DragEventArgs.Data
은 IDataObject
이며 내 테스트 코드를 단순화하기 위해 DataObject
을 사용합니다.
이 테스트가 유효한 지 확실하지 않습니다. DragEventArgs.Data가 IDataObj를 구현하고 DataObject도이를 수행하기 때문에 정확히 동일한 동작을 함축 할 수는 없습니다. – Fildor
[GetDataPresent] (https://msdn.microsoft.com/en-us/library/1yc0tt01(v=vs.110) .aspx)를 사용해 보셨습니까? – Fildor
어쩌면 DataObject로 내 문제를 해결하면 DragEventArgs를 사용할 때 문제가 해결되지 않을 수도 있습니다. 그러나 두 문제 모두 동일한 문제를 경험하고 DataObject를 사용하여 솔루션을 찾으면 DragEventArgs 문제를 해결할 수 있다고 생각했습니다. 명백한 문제를 사용하여 다른 질문을해야합니까? 어쨌든, 왜 코드가 어떤 경우에 작동하지 않는지 이해할 수 없습니다. – MatrixRonny