【问题标题】:DataMember Property with Custom Get?DataMember 属性与自定义获取?
【发布时间】:2015-04-11 19:05:42
【问题描述】:

I'm going by this tutorial 并试图弄清楚如何拥有没有自动属性的 DataMember。基本上我有一个字段是纪元格式的日期时间,我希望属性是 DateTime,所以我试图在属性的获取中进行转换。我不确定如何准确格式化。

由于请求了代码,请查看以下内容。 :

// The date looks like this in the JSON 
"someEpochDateTime": 1428785212000,

// I thought I could work around it using the following code, however
// I get a warning saying someEpochDateTime is never set.

[DataMember(Name = "someEpochDateTime")]
private long someEpochDateTime;

public DateTime test
{
get { return DateTimeConverter.FromUnixTime(someEpochDateTime); }
}

使用FromUnixTime

【问题讨论】:

标签: c# json rest properties datacontract


【解决方案1】:

像这样你可以创建 datereturn 属性,这将返回日期

     [DataContract]
     public class Mycontractclass
     {     
         // Apply the DataMemberAttribute to the property.
        [DataMember]
        public DateTime datereturn
        {
           get
           {
              return this.dateCreated.HasValue
                 ? this.dateCreated.Value
                 : DateTime.Now;
           }

           set { this.dateCreated = value; }
        }

        private DateTime? dateCreated = null;
    }

【讨论】:

  • 是的,但是作为 DataContract 中的 DataMember,您如何做到这一点是我想要弄清楚的。
  • @user1970794 添加属性到你的类和属性见编辑
【解决方案2】:

显然我的最后一次编辑实际上是一种解决方案,但由于某种原因,我只是收到了编译器警告。

[DataMember(Name = "someEpochDateTime")]
private long someEpochDateTime;

public DateTime test
{
    get { return DateTimeConverter.FromUnixTime(someEpochDateTime); }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-16
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 2020-04-22
    • 2012-05-30
    • 2013-05-30
    • 2014-03-18
    相关资源
    最近更新 更多