请教一个关于属性的问题

Dcboy 2011-04-08 09:55:49
有一个类

using System;
using System.Xml.Serialization;
using System.Collections.Generic;
using System.Text;
using GMI.Lib;
using Newtonsoft.Json;

namespace GMI.Model
{
public class CaseVO
{
public int ID = 0;
public string CaseNo = string.Empty;

private string m_ExtendXml = string.Empty;
[JsonIgnore]
public string ExtendXml
{
get
{
m_ExtendXml = SerializationHelper.SerializeToXml(m_Extend);
return m_ExtendXml;
}
set {
m_ExtendXml = value;
m_Extend = (CaseExtendVO)SerializationHelper.DeserializeFromXml(m_ExtendXml, typeof(CaseExtendVO));
}
}
private CaseExtendVO m_Extend = new CaseExtendVO();

public CaseExtendVO Extend
{
get
{
m_Extend = (CaseExtendVO)SerializationHelper.DeserializeFromXml(m_ExtendXml, typeof(CaseExtendVO));
return m_Extend;
}
set
{
m_Extend = value;
m_ExtendXml = SerializationHelper.SerializeToXml(value);
}
}
}

public class CaseExtendVO
{
/// <summary>
/// 对于SalesForce的ID 唯一
/// </summary>
public string SForceID = string.Empty;

/// <summary>
/// 创建时间
/// </summary>
[XmlIgnore]
public DateTime CreateTime = DateTime.Now;

[XmlElement("CreateTime")]
[JsonIgnore]
public string XCreateTime
{
get { return this.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"); }
set { this.CreateTime = DateTime.Parse(value); }
}
/// <summary>
/// 完成时间
/// </summary>
public DateTime FinishTime = DateTime.MinValue;

/// <summary>
/// 产品供货商ID 本地数据库ID
/// </summary>
public int VendorID = 0;

[System.Xml.Serialization.XmlIgnore]
public string VendorCoName = string.Empty;

/// <summary>
/// SupplierID ID 本地数据库ID
/// </summary>
public int SupplierID = 0;

[System.Xml.Serialization.XmlIgnore]
public string SupplierCoName = string.Empty;

/// <summary>
/// 产品供货商-联系人
/// </summary>
public string VendorContact = string.Empty;

/// <summary>
/// 产品供货商-联系电话
/// </summary>
public string VendorPhone = string.Empty;

/// <summary>
/// 包装供应商-联系人
/// </summary>
public string SupplierContact = string.Empty;

/// <summary>
/// 包装供应商-联系电话
/// </summary>
public string SupploerPhone = string.Empty;

/// <summary>
/// 状态 0-新建 1-完成(此档案已经结束)
/// </summary>
public int Status = 0;
}
}




CaseVO cVo=new CaseVO();后
我修改了cVo.Extend.Status =1 后
获取cVo.ExtendXml 还是=0 为什么??怎样可以实现我修改任意Extend的属性的时候Case的ExtendXml也跟着变
...全文
137 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dcboy 2011-04-09
  • 打赏
  • 举报
回复
楼上的 还是没效果啊~~~~
实现不到 实时改变属性的时候马上序列成xml
我姓区不姓区 2011-04-08
  • 打赏
  • 举报
回复

public class CaseVO
{
public int ID = 0;
public string CaseNo = string.Empty;

private string m_ExtendXml = string.Empty;
[JsonIgnore]
public string ExtendXml
{
get
{
if(m_ExtendXml == null)
m_ExtendXml = SerializationHelper.SerializeToXml(m_Extend);
return m_ExtendXml;
}
set {
m_ExtendXml = value;
m_Extend = (CaseExtendVO)SerializationHelper.DeserializeFromXml(m_ExtendXml, typeof(CaseExtendVO));
}
}
private CaseExtendVO m_Extend = new CaseExtendVO();

public CaseExtendVO Extend
{
get
{
if(m_Extend == null)
m_Extend = (CaseExtendVO)SerializationHelper.DeserializeFromXml(m_ExtendXml, typeof(CaseExtendVO));
return m_Extend;
}
set
{
m_Extend = value;
m_ExtendXml = SerializationHelper.SerializeToXml(value);
}
}
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧