技术开发 频道

.NET对象序列化精讲:TimeSpan

        二、解决方法

  扩展TimeSpan:

1: public class TimeSpanEx
  
2: {
  
3:     [XmlElement(ElementName = "TimeSpan")]
  
4:     public string TimeSpanAsString
  
5:     {
  
6:         get { return TimeSpan != null ? TimeSpan.ToString() : null; }
  
7:         set
  
8:         {
  
9:             TimeSpan span;
  
10:             if (value != null && TimeSpan.TryParse(value, out span))
  
11:                 TimeSpan = span;
  
12:             else
  
13:                 TimeSpan = new TimeSpan();
  
14:         }
  
15:     }
  
16:     [XmlIgnore]
  
17:     public TimeSpan TimeSpan { get; set; }
  
18: }

   通过TimeSpan传递TimeSpan:

1:  [WebMethod]
2:  public string HelloWorld(TimeSpanEx span)
3:  {
4:      return "Hello World";
5:  }
6:  

  客户端使用示例:

1: WebService1SoapClient client = new WebService1SoapClient();  
2: TimeSpanEx span = new TimeSpanEx(); 
3: span.TimeSpan = new TimeSpan(1, 2, 3).ToString();  
4: client.HelloWorld(span);  
5:

    服务端获取的TimeSpan结果: image

0
相关文章