public bool TryGetVFSError(out VFSErrorCode error) { if (Enum.IsDefined(typeof(VFSErrorCode), base.ErrorCode)) { error = (VFSErrorCode)base.ErrorCode; return(true); } else { error = default; return(false); } }
/// <summary> /// 检查配置 (检查所有项目), 如果检查通过返回true, 否则返回false /// </summary> /// <param name="config"></param> /// <param name=""></param> /// <param name="errorfolders">如果有group内folder相关的错误,则在此处体现</param> /// <returns>if error ,return false</returns> public static bool CheckConfiguration(IVFSConfig config, out VFSErrorCode error, out GroupFolderInfo[] errorfolders) { errorfolders = null; #region 没有任何Group? if (config.PGroups == null || config.PGroups.Length == 0) { error = VFSErrorCode.NoneGroup; return(false); } #endregion #region 检查组名称是否重复 List <string> temp_list = new List <string>(); foreach (var group in config.PGroups) { if (temp_list.Contains(group.GroupName)) { //存在重复命名 error = VFSErrorCode.SameGroupName; return(false); } else { temp_list.Add(group.GroupName); } } #endregion #region 检查各组的folder配置是否冲突 if (CheckConfig_GroupFolder(ref config, out var folders)) { errorfolders = folders; error = VFSErrorCode.ConfigureGroupsConflict; return(false); } #endregion error = default; return(true); }
public VFSException(string message, VFSErrorCode errorCode) : base("[TinaX.VFS]" + message, (int)errorCode) { base.ServiceException = true; base.ServiceName = TinaX.VFSKit.Const.VFSConst.ServiceName; }