TypeをDataObjectインスタンスを使用してデータとして渡す必要があります。次のコードを試しましたが、結果はnullです。C#Typeオブジェクトをデータとして持つ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を使用して1つを解決できない場合があります。しかし、私は両方とも同じ問題を経験し、DragObjectArgsの問題を解決できると思っていました。DataObjectを使って解決策を見つけた場合です。明示的な問題を使って別の質問をするべきですか?とにかく、なぜコードがどのような場合でも動作しないのか分かりません。 – MatrixRonny