Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menyahseri Objek daripada Rentetan XML Bersiri dalam C#?
Menyahsiri Objek daripada Rentetan
Kaedah yang disediakan, SerializeObject, membolehkan pensirilan objek kepada fail. Untuk mendapatkan semula perwakilan XML objek sebagai rentetan, sedikit pengubahsuaian diperlukan.
Penyelesaian melibatkan menggantikan StreamWriter dengan StringWriter:
public static string SerializeObject<T>(this T toSerialize) { XmlSerializer xmlSerializer = new XmlSerializer(toSerialize.GetType()); using(StringWriter textWriter = new StringWriter()) { xmlSerializer.Serialize(textWriter, toSerialize); return textWriter.ToString(); } }
Kaedah GetType() digunakan dalam pembina XmlSerializer untuk memastikan bahawa semua kemungkinan subkelas T dipertimbangkan semasa bersiri.
Tidak seperti penggunaan typeof(T), GetType() meliputi semua subkelas, membenarkan kod untuk mengendalikan objek dengan warisan. Untuk mendapatkan maklumat lanjut dan contoh konkrit di mana typeof(T) menyebabkan isu, rujuk pautan berikut: http://ideone.com/1Z5J1.
Selain itu, perlu diperhatikan bahawa versi masa jalan .NET yang berbeza mungkin menjana mesej pengecualian yang berbeza apabila menghadapi ralat dengan typeof(T).
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyahseri Objek daripada Rentetan XML Bersiri dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!