/// <summary> /// 判断一系列规则后是否启用 /// </summary> /// <param name="rules">规则们</param> /// <returns>是否启用</returns> public bool IfAllowed(List <JRule> rules) { if (rules == null) { return(true); } if (rules.Count == 0) { return(true); } var allowed = false; foreach (var rule in rules) { if (rule.OS == null) { allowed = rule.Action == "allow"; continue; } if (rule.OS.Name == "windows") { allowed = rule.Action == "allow"; } if (rule.OS.Arch == "x" + SystemTools.GetArch().Replace("32", "86")) { allowed = rule.Action == "allow"; } if (rule.OS.Version == "^" + SystemTools.GetSystemVersion() + "\\.") { allowed = rule.Action == "allow"; } } return(allowed); }