using DataEntity; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace XImagingXhandler.XDAL { /// /// 属性基础类 /// public class MethodBase : IEntity { /// /// guid:保存的xml中Id(只能保证在当前方法文件中唯一) /// public string id { get; set; } = Guid.NewGuid().ToString(); /// /// keyId:所有节点唯一key(即使同一个子方法被引用多次,keyId也唯一) /// public string keyId { get; set; } /// /// 是否从此命令开始 /// public string isrun { get; set; } = "false"; /// /// 命令是否可用 /// public string status { get; set; } = "enable"; /// /// 命令名称 /// public string name { get; set; } = ""; /// /// 序号 /// public string strIndex { get; set; } = ""; private string _label = ""; /// /// 命令标签名 /// public string label { get { return _label; } set { _label = value; OnPropertyChanged("label"); } } #region 用以标注这个方法的开始和结束2个节点是同一组节点 private string _groupID; /// /// 用以标注这个方法的开始和结束2个节点是同一组节点 /// public string groupID { get { return _groupID; } set { _groupID = value; OnPropertyChanged("groupID"); } } #endregion #region 深拷贝 /// /// 深拷贝,利用默认构造函数创建新对象 /// /// public virtual object DeepCopy() { object retval = Activator.CreateInstance(this.GetType()); return retval; } /// /// 利用序列化和反序列化进行深度拷贝,要求类对象支持序列化操作,UI对象不支持 /// /// /// /// public static S DeepCopyBase(object s) { S d = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(s)); return d; } #endregion } }