Burada SO'da çok sayıda çözüm buldum ve daha sonra seri hale getirme/serileştirme (belleğe ve arkana) aracılığıyla nesnenin derin klonu ile başa çıkmak.Serileştirme olmadan nesneleri klonlama
Klonlanacak sınıfların [Serializable]
ile işaretlenmesi gerekir. Ben DataContractSerializer
kullanıyorum çünkü [DataContract]
ile işaretlenmiş sınıflarımı (çoğu) XML'ye serileştiririm.
Bu sınıf örneklerinden bazılarının derin klonu ihtiyacından dolayı yalnızca [Serializable]
özniteliğini tanıttım. Bununla birlikte, artık artık bir işleyiş olmadığı için DCS üzerinden serileştirme/serileştirme işlemine bir şey oldu - seri hale getirme üzerinde farklı bir XML öğesini beklemeyle ilgili hatalar. [Serializable]
'u kaldırırsam, hatalar gider.
Seçeneklerim nelerdir? Sadece nesnelerini mümkün olduğunca basit klonlamak istiyorum.
Yansımayı kullanabilirsiniz, ancak bu, hafif bir performans yüküne de yol açabilir. – IDWMaster
Neden [Seri hale getirilebilir] burada ihtiyacın var? DCS'yi derin klon için kullanabilirsin ...? Sadece DCS ile MemoryStream'e serileştirin ...? –
evet sadece bir şey buldum, göndereceğim – mare