System.Runtime.Serialization.InvalidDataContractException:Noattributesetmethod因为报错显示我的属性没有setter,但是我不想要一个设置器,它应该是只读的。编辑:使二传手内部。这仍然可以在程序集中设置,但这是一个很好的技巧,当用于其他人使用的程序集中的数据对象时效果很好,因为那些使用程序集的人将无法设置属性,但每个序列化程序都可以。请记住,WCF需要从对象的序列化表示(通常是XML)创建对象的实例,如果属性没有设置器,则无法分配值。对象不会在客户端和服务器之间传输,而只是序列化表示,因此需要在每一端重建对象。您的问题有点含糊,但我认为这就是您正在寻找的答案:默认序列化仅适用于读写属性,因为如果不设置属性值,就无法重新水化对象。如果你想让它与只读属性一起工作,你需要自己实现序列化接口,而不是仅仅添加属性。假设您正在使用DataContract进行序列化,我认为您最好的选择是实现ISerializable并自己实现这些方法。以上就是C#学习教程:System.Runtime.Serialization.InvalidDataContractException:Thesetmethodwithoutattributes分享的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——本文来自网络收集,不代表立场,如涉及侵权,请点击右转联系管理员删除。如需转载请注明出处:
