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