मेरे पास एक साधारण वर्ग है जिसे Serializable के रूप में चिह्नित किया गया है, और यह एक घटना होती है। मैंने इवेंट सदस्य को गैर-सिरीलाइज्ड के रूप में चिह्नित करने का प्रयास किया, हालांकि संकलक शिकायत करता है। फिर भी जब मैं कक्षा के उदाहरण को क्रमबद्ध करने के लिए जाता हूं, तो बाइनरीफॉर्मेटर एक अपवाद फेंकता है कि घटना गैर धारावाहिक है। क्या इसका मतलब है कि आप कक्षाओं को क्रमबद्ध नहीं कर सकते हैं जिनमें घटनाएं हैं? यदि ऐसा है, तो संकलक इतना आगे कहना चाहिए।बाइनरीफॉर्मेटर एक सीरियलज़ेबल क्लास पर एक ईवेंट को क्रमबद्ध करने का प्रयास क्यों कर रहा है?
Stream file = File.Open("f", FileMode.Open);
BinaryFormatter bf = new BinaryFormatter();
object obj = null;
try
{
obj = bf.Deserialize(file);
}
catch (System.Runtime.Serialization.SerializationException e)
{
MessageBox.Show("De-Serialization failed : {0}", e.Message);
}
file.Close();
System.Collections.ArrayList nodeList = obj as System.Collections.ArrayList;
foreach (TreeNode node in nodeList)
{
treeView.Nodes.Add(node);
}
निम्नलिखित वर्ग पर काम करने में विफल:
[Serializable()]
class Simple
{
private int myInt;
private string myString;
public event SomeOtherEventDefinedElsewhere TheEvent;
}
क्या आप जो कुछ करने की कोशिश कर रहे हैं उसके बारे में कुछ और बता सकते हैं और संभवतः हमें थोड़ा कोड स्निपेट दे सकते हैं? – IAbstract
निश्चित रूप से। मेरे पास बस इस वर्ग है जिसमें ज्यादातर स्ट्रिंग और int गुण हैं। लेकिन उपभोक्ताओं को सूचित करने के लिए कुछ घटनाएं हैं जब इसके उदाहरण बदलते हैं। मैं इस वर्ग के उदाहरणों को एक .NET TreeView क्लास की टैग प्रॉपर्टी में संग्रहीत कर रहा हूं, या अधिक विशेष रूप से, प्रत्येक TreeNode की प्रत्येक टैग प्रॉपर्टी में ऑब्जेक्ट से मेल खाता है।जब मैं ट्री व्यू को डिस्क पर क्रमबद्ध करने की कोशिश करता हूं (प्रत्येक नोड को एक ऐरेलिस्ट में संग्रहीत करता है और फिर सूची लिखता है), मुझे एक अपवाद मिलता है: "'MyEventSubscriber' टाइप करें 'असेंबली' MyAssembly, संस्करण = 1.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = शून्य 'धारावाहिक के रूप में चिह्नित नहीं है। " – Rhubarb
cont ... MyEventSubscriber उस क्लास के ईवेंट के लिए ग्राहक का क्लास उदाहरण होता है जिसे मैं धारावाहिक करने की कोशिश कर रहा हूं (वह जो ट्री नोड की टैग प्रॉपर्टी में है)। – Rhubarb