/// <summary> /// Builds or finds the state information for a <see cref="FileManageable"/> type /// </summary> /// <param name="inst">Target definition</param> /// <returns>State data for <paramref name="inst"/></returns> internal static FileManageableState Add(FileManageable inst) { Type t = inst.GetType(); FileManageableState state = null; lock (Pool) if (!Pool.TryGetValue(t, out state)) { state = new FileManageableState(t, inst); Pool.Add(t, state); } return(state); }
/// <remarks> /// Automatically finds and assigns runtime meta data needed /// to do advance stuff with this class file definition (like versioning) /// </remarks> protected FileManageable() { state = FileManageableState.Add(this); }
/// <summary> /// Builds or finds the state information for a <see cref="FileManageable"/> type /// </summary> /// <param name="inst">Target definition</param> /// <returns>State data for <paramref name="inst"/></returns> internal static FileManageableState Add(FileManageable inst) { Type t = inst.GetType(); FileManageableState state = null; lock(Pool) if (!Pool.TryGetValue(t, out state)) { state = new FileManageableState(t, inst); Pool.Add(t, state); } return state; }