没有设置的财产有什么问题?



我有一个与WCF服务一起使用的类

接口定义

[WebGet(ResponseFormat = WebMessageFormat.Json,
        UriTemplate = "GetMyStuff/?p={param}",
        BodyStyle = WebMessageBodyStyle.Bare)]
MyResponseObject MyMethod(string param);

在它的属性中我有

public bool IsDecorated {
  get {
    return !String.IsNullOrEmpty(Decoration);
  }
}

结果请求被拒绝加载。

在我添加

之后
set { }

它工作。

有线索吗?

只读属性未序列化。因为当它们被反序列化时它们不会有setter。为了避免这个问题,只读属性一开始就不序列化。

setprivate类似

的情况相同
public List<Foo> Bar {get; private set;}`.


为什么没有setter的属性没有被序列化
强制XML序列化序列化只读属性
为什么我的公共属性没有被XmlSerializer序列化?

编译器并不关心你是否在setter内部编写了逻辑。它所关心的是你的属性应该有一个setter

最新更新