KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
This question is close to what I'm interested in, but not quite. I have a .NET WinForms application written in C#. I have a ListView control which displays an array of C# objects. I've hooked it up so that you can drag/drop these listview items to a different form in the same application, and it properly passes the array of objects (type Session ) to the drop handler for that other form. However, I now want to support cross-process drag/drop where I run multiple instances of my application. This appears that it's going to work (e.g. GetDataPresent succeeds), but ultimately throws an exception when I actually try to retrieve the data-- cannot cast object[] to Session[] . if (e.Data.GetDataPresent("Fiddler.Session[]")) { Session[] oDroppedSessions; try { oDroppedSessions = (Session[])e.Data.GetData("Fiddler.Session[]"); } catch (Exception eX) { // reaches here } } Anyone know if I must implement ISerializable for my objects in order to make this work? Ordinarily, I'd simply try it, but implementing ISerializable for this class would be quite non-trivial, and I'm worried that there may be weird side-effects of doing so. UPDATE : Implementing ISerializable doesn't help-- the method is never called. Similarly, adding the Serializable attribute to the class has no impact at all. Any other ideas?
Tags (comma-separated)
Save Edits
Cancel