【问题标题】:Deserialize datamember multiple names反序列化数据成员多个名称
【发布时间】:2023-03-14 05:14:01
【问题描述】:

我将此文件命名为 1_method

public class DerivedClass
{

    [DataMember(Name="1_method")]
    public virtual string FirstMethod { get; protected set; }

}

当我反序列化 json 时,我需要它可以映射到各种名称。
我怎样才能实现类似下面的伪代码?

public class DerivedClass
{

    [DataMember(Name="1_method",Name="2_method")]
    public virtual string FirstMethod { get; protected set; }

}

或者像这样:

public class DerivedClass
{

    [DataMember(Name="1_method")]
   [DataMember(Name="2_method")]
    public virtual string FirstMethod { get; protected set; }

}

【问题讨论】:

    标签: .net json serialization


    【解决方案1】:

    据我所知,数据成员属性不能有多个名称,您只需要使用相同的内部变量进行存储。

    public class DerivedClass
    {
       string _internal;
       [DataMember(Name="1_method")]
       public virtual string FirstMethod { 
            get{
             return this._internal;
            }
            protected set {
             this._internal = value;
            }
       }
    
     [DataMember(Name="2_method")]
     public virtual string SecondMethod { 
            get{
             return this._internal;
            }
            protected set {
             this._internal = value;
            }
     }
    }
    

    【讨论】:

      猜你喜欢
      • 2014-03-09
      • 2018-07-07
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多