public virtual bool Modify(string oGuid, T t) { T obj = null; if (DataTable.TryGetValue(oGuid, out obj)) { t.CopyTo(obj); IEventArgs oIEventArgs = new ModelEventArgs() { Data = obj, OpType = ModelOpType.Modify }; Event.Notify(EventCall, oIEventArgs); obj.Notify(oIEventArgs); if (Accesser != null) { Accesser.Modify(obj); } return(true); } else { App.Logger.Error("{0} 没有找到对应数据: GUID={1}", GetType().Name, oGuid); return(false); } }
public virtual bool Add(string oGuid, T oData) { if (!DataTable.ContainsKey(oGuid)) { DataTable.Add(oGuid, oData); Event.Notify(EventCall, new ModelEventArgs() { Data = oData, OpType = ModelOpType.Add }); if (Accesser != null) { Accesser.Add(oData); } return(true); } else { App.Logger.Error("{0} 已经存在数据: GUID={1}", GetType().Name, oGuid); return(false); } }
/// <summary> /// 删除数据 /// </summary> /// <param name="oGuid">数据ID</param> /// <param name="isClear">是否清理数据包含的非代码资源</param> /// <returns></returns> public virtual bool Remove(string oGuid, bool isClear = false) { T obj = null; if (DataTable.TryGetValue(oGuid, out obj)) { DataTable.Remove(oGuid); Event.Notify(EventCall, new ModelEventArgs() { Data = obj, OpType = ModelOpType.Remove }); if (Accesser != null) { Accesser.Remove(obj); } obj.Dispose(); obj = null; return(true); } else { App.Logger.Error("{0} 没有找到对应数据:{1}", typeof(T), oGuid); return(false); } }
public void Revert() { Accesser.WriteBytes(Addr, OriginalCode); }
public void Free() { Accesser.FreeMemory(Addr, Size); }