【问题标题】:C# web service serialization of object properties对象属性的 C# Web 服务序列化
【发布时间】:2011-11-24 13:28:43
【问题描述】:

我有一个 System.Web.Services.WebService 实例,其中 [WebMethod] 返回一个类 A 的实例。类 A 定义如下。我希望将属性 a 序列化,但事实并非如此。似乎只有字段被序列化。有什么办法可以强制序列化属性?

public class A
{
    private string _a;
    public string a { get { return _a; } }
}

【问题讨论】:

    标签: c# serialization service properties web


    【解决方案1】:

    序列化要求 Setter 和 Getter 访问器都存在。

    public class MyClass
    {
        public string A { get; set;}
    }
    

    【讨论】:

    • 谢谢。有什么方法可以避免使用“虚拟”设置器?
    • 不确定你对虚拟二传手的意思。 public string A {get; set;} 实际上扩展为 private string _a; public string A {get{return _a;} set{_a = value;}}
    • 虚拟二传手只是set { }
    • 一个 dummy setter 可以让你序列化类,但一般来说,如果你需要反序列化它,那么该特定属性显然不会在反序列化过程中设置值。
    猜你喜欢
    • 1970-01-01
    • 2010-10-06
    • 2012-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多