private void CreateDataType(VLDataType dt) { if (m_DicDatas.ContainsKey(dt)) { return; } switch (dt) { case VLDataType.BIN_DATA: { ResBinData res = ResBinData.Instance; //new ResBinData(); res.Initialize(); m_DicDatas.Add(dt, res); m_DicType.Add(typeof(IResBinData), dt); m_resBinData = res; } break; case VLDataType.RES_LOAD: { VLResLoad resLoad = new VLResLoad(); resLoad.Initialize(this); m_DicDatas.Add(dt, resLoad); m_DicType.Add(typeof(IVLResLoad), dt); } break; default: break; } }
public T GetDataType <T>() { T classT = default(T); Type type = typeof(T); if (m_DicType.ContainsKey(type) == true) { VLDataType dt = m_DicType[type]; if (m_DicDatas.ContainsKey(dt) == true) { object obj = m_DicDatas[dt]; classT = (T)obj; } } return(classT); }
//不写判空,有异常直接让它崩,避免有内存问题 private void DestroyData(VLDataType dt, object val) { }