反序列化数据库多个名称

时间:2014-04-29 13:46:20

标签: .net json serialization

我将此文件命名为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; }

}

1 个答案:

答案 0 :(得分:7)

据我所知,你不能有多个datamember属性的名字,你只需要使用相同的内部变量进行存储。

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;
        }
 }
}