我有一些类,我路过作为服务方法的结果,那类有一个只能获得属性:
I have some class that I'm passing as a result of a service method, and that class has a get-only property:
[DataContract] public class ErrorBase { [DataMember] public virtual string Message { get { return ""; } } }我在服务端得到一个例外:
I'm getting an exception on service side:
System.Runtime.Serialization.InvalidDataContractException:未设置 方法类型MyNamespace.ErrorBase'属性'信息'。
System.Runtime.Serialization.InvalidDataContractException: No set method for property 'Message' in type 'MyNamespace.ErrorBase'.
我必须有这个属性,因为只有消气,我不能让用户为其分配一个值。任何解决办法,我可以使用?还是我错过了一些附加的属性?
I have to have this property as only getter, I can't allow users to assign it a value. Any workaround I could use? Or am I missing some additional attribute?
推荐答案给消息的公共的getter但保护二传手,所以只有子类(与DataContractSerializer的,因为它欺骗:)可以修改的值。
Give Message a public getter but protected setter, so that only subclasses (and the DataContractSerializer, because it cheats :) may modify the value.
更多推荐
WCF扼流圈与否]性能;设置&QUOT ;.任何解决方法吗?
发布评论