سؤال

إذا كان هناك كائن فيه يجب تسلسل كل ممتلكات عامة والخصائص بسيطة (مجرد أرقام أو سلاسل أو كائنات تنفذ بالفعل ISerializable) ، هل هناك طريقة سهلة للقيام بذلك دون الحاجة إلى إنشاء GetObjectData(SerializationInfo info, StreamingContext context) ومركب يأخذ SerializationInfo كحجة في كل مرة؟

أعلم أنه يمكن القيام به يدويًا مع التفكير ، ولكن هل هناك طريقة سحرية داخل إطار .NET للقيام بذلك؟


لذا فإن الإجابة الصحيحة هي:

لا تحاول تطبيق iserializable - إنه للتسلسل المخصص. بدلاً من ذلك ، أضف السمة [Serializable] قبل إعلان الفصل.

هل كانت مفيدة؟

المحلول

جرب الطبقة الثنائية - يجب أن تفعل ما تحتاجه

تحرير: أنت لا تستمد من BinaryFormatter - إنها فئة فائدة تستخدمها للقيام بالتسلسل الخاص بك. هنا مثال تم نسخه من المستندات

MyObject obj = new MyObject();
obj.n1 = 1;
obj.n2 = 24;
obj.str = "Some String";
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream("MyFile.bin", FileMode.Create, FileAccess.Write, FileShare.None);
formatter.Serialize(stream, obj);
stream.Close();
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top