[DataContract]
ve [DataMember]
özniteliklerini biraz dağınık buluyorum ve bunu bir yapılandırma yönteminde veya bir şeyde kodla yapmayı tercih ediyorum. Mümkün mü?Tüm Öznitelikler Olmadan DataContract ve DataMember Ayarlama
cevap
Bu özellikleri kullanmak zorunda değilsiniz. DataContractSerializer
, tüm ortak özellikleri getter ve ayarlayıcı ile serileştirir, ancak gezinme özellikleri olan serileştirme varlıkları durumunda, "döngüsel referans" nedeniyle istisna ile kolayca sonlanır.
IgnoreDataMember
istediğiniz her mülk üzerinde
DataMember
ile varlık sınıfı
[DataContract(IsReference = true)]
kullanması gerektiğini istisna kaçının.
Son ve en karmaşık seçenek, öznitelikleri tamamen engellemekten ve türün dışında serileştirmeyi denetlemek için IDataContractSurrogate
uygulayan özel sınıflardır.
Ayrıca, tamamen özel seri hale getirme işleminizi yazabilir veya tüm gereksinimlerini içeren XML serileştirme veya ikili serileştirme kullanabilirsiniz.
Ama dersime [DataContract] ekledim ve bunu bir WCF işleminden döndürebiliyorum ... ancak içerikler boş, bu yüzden bir kaç özelliğe [DataMember] ekledim ve aniden bu (ve yalnızca o olanlar) serileştirilmiş sonuçta döndü. Öyleyse neden varsayılan olarak tüm özellikler iade edildiğini söylediğiniz gibi benimki çalışmıyor? –
BTW, {get; set;} –
'DataContract' özniteliğini ekledikten sonra **, DataMember' özniteliği ile serileştirmek istediğiniz özellikleri işaretlemelidir. Tanımladığım varsayılan serileştirme, yalnızca 'DataContract' özniteliğini kullanmıyorsanız çalışır. –
Hayır, DataContractSerializer bir opt-in serileştiricisidir - ne dahil istediğinizi belirtmeniz gerekir.
Diğer serileştiricilerle, serileştiriciye işleri yalnız bırakmak için NonSerializedAttribute veya XmlIgnoreAttribute gibi şeyleri kullanmanız gerekir.
- 1. WCF DataContract DataMember siparişi?
- 2. WCF - DataMember DataContract
- 3. WCF DataContract ile DataContract Arabirimi
- 4. DataContract ve XmlType
- 5. [DataMember (EmitDefaultValue = false)] neden kullanılmıyor? WCF içinde
- 6. İş Nesnesi Sınıfları'ndan DataContract sınıflarını otomatik oluşturma
- 7. Serializable ve DataContract (karşı değil?)
- 8. Serialization DataMember (name) geçersiz kılma sorunu
- 9. Bir HTML öğesindeki tüm öznitelikler nasıl yinelenir?
- 10. Asp.net Web API ile çalışırken DataContract ve DataMember özellikleri kullanılarak herhangi Tanks var mı? Ben o geliştirici gördü
- 11. DataContract Serializer Metadata'da XML Yorumları İçeren
- 12. WCF DataContract salt okunur özelliklerin serileştirilmesi?
- 13. WCF'deki enansörler için DataContract
- 14. Neden Bir Web Servisi Datamember en Belirtilen Özellik int ve Veriler için ayarlanmış olması ancak dize
- 15. iPhone P2P'yi sadece Bluetooth üzerinden ve GKPeerPickerController olmadan ayarlama
- 16. VerticalAlignment özelliğini tüm denetimlere ayarlama
- 17. Bir öznitelikler
- 18. Bir mülkün arayüzü/taban tipi atalarından tüm öznitelikler nasıl edinilebilir?
- 19. RoR: Erişim: öznitelikler aracılığıyla
- 20. DataContract serializer kullanarak Dictionary <string, object> serileştirebilir miyim?
- 21. Arabirim yöntemlerinden ve sınıf yöntemlerinden öznitelikler alın
- 22. Tüm dosyalar ve klasörler için tekrarlı izinler ayarlama
- 23. Tüm AppDomains'i mscoree olmadan numaralandır
- 24. Yığın panelindeki tüm textblock'lar için stil ayarlama
- 25. Tüm editörünü seçmeden ace editörü için ayarlama
- 26. Öznitelikler Boost.PropertyTree'de nasıl ayrıştırılır?
- 27. DataContract yerine İleti Sözleşmelerini ne zaman kullanmalıyım ve neden?
- 28. Bir XmlElement öğesinin tüm alt düğümleri nasıl kaldırılır, ancak tüm öznitelikler korunur?
- 29. Öznitelikler ve tipler ile şekilsiz vaka sınıfları nasıl?
- 30. Paylaşılan [DataContract] sınıfı için taşınabilir sınıf kitaplığı
Bir ön cephe dekorasyonuyla ilgili karışıklık nedir? –
Nasıl cevap verileceğinden emin değil. Sadece dağınık. –
Çok fazla varlığım var ve çoğunlukla tüm özellikleri dahil olmak üzere hepsini genişletmek istiyorum, bu yüzden yüzlerce kez bir özelliği tekrarlamak zahmetli geliyor. Ladislov'un aşağıda bana yardımcı olduğu "dışlama" yaklaşımını anlamaya çalışıyorum. Eklemek istediğim üyeleri dekore etmeyi tercih ederim. –