मेरे पास 2 एक ही रूप हैं: सूची और एक पेड़ (विशिष्ट प्रकार के नाम अप्रासंगिक हैं)।कस्टम ऑब्जेक्ट खींचें और छोड़ें
सूची नियंत्रण में मैं DoDragDrop विधि निष्पादित करता हूं। पहली तर्क के रूप में मैं एक ऑब्जेक्ट पास करता हूं जो उस पंक्ति से डेटा था। ऑब्जेक्ट एक विशिष्ट इंटरफ़ेस लागू करता है और सीरियलज़ेबल विशेषता के साथ चिह्नित किया जाता है।
मैं चाहता हूं कि पेड़ नियंत्रण के DragEnter/DragDrop ईवेंट हैंडलर में उस ऑब्जेक्ट को पुनः प्राप्त करना है। मैं निम्नलिखित कोड का उपयोग कर रहा:
void TreeControlDragEnter(object sender, DragEventArgs e)
{
var formats = e.Data.GetFormats();
var data = e.Data.GetData(typeof (IFoo));
}
दुर्भाग्य से, परिणाम में डाटा शून्य है और स्वरूप एक एक तत्व सरणी जो विशेष प्रकार (IFoo को लागू करने) के नाम रखती है। मुझे लगता है कि ऑब्जेक्ट को पुनर्प्राप्त करने के लिए मुझे गेटडाटा को सटीक प्रकार का नाम पारित करना होगा, लेकिन यह संभव नहीं है क्योंकि यह एक निजी वर्ग है।
क्या ऑब्जेक्ट को अपने इंटरफ़ेस से प्राप्त करने का कोई तरीका है?