コード例 #1
0
 private static string GetDescriptionText(IRuleInfo ruleInfo)
 {
     var stringBuilder = new StringBuilder(ruleInfo.Description);
     if (ruleInfo.HelpUrl != null)
     {
         stringBuilder.AppendLine(LINE_BREAK);
         stringBuilder.AppendLine(GetLinkFormat(ruleInfo));
     }
     else
     {
         stringBuilder.AppendLine(EMPTY_LINE);
         stringBuilder.AppendFormat("For reference, rule ID is {0}", ruleInfo.Id);
     }
     return stringBuilder.ToString();
 }
コード例 #2
0
        private static string GetDescriptionText(IRuleInfo ruleInfo)
        {
            var stringBuilder = new StringBuilder(ruleInfo.Description);

            if (ruleInfo.HelpUrl != null)
            {
                stringBuilder.AppendLine(LINE_BREAK);
                stringBuilder.AppendLine(GetLinkFormat(ruleInfo));
            }
            else
            {
                stringBuilder.AppendLine(EMPTY_LINE);
                stringBuilder.AppendFormat("For reference, rule ID is {0}", ruleInfo.Id);
            }
            return(stringBuilder.ToString());
        }
コード例 #3
0
 private static string GetLinkFormat(IRuleInfo ruleInfo)
 {
     string url;
     if (ruleInfo is CustomRuleInfo)
     {
         url = ((CustomRuleInfo) ruleInfo).HelpUrlAsString;
         url = url ?? string.Empty;
     }
     else
     {
         url = ruleInfo.HelpUrl == null ? string.Empty : ruleInfo.HelpUrl.ToString();
     }
     string linkContent = url;
     if (myArgumentsParser.IsMicrosoft)
     {
         linkContent = string.Format(MSDN_LINK_CONTENT, ruleInfo.Id);
     }
     return string.Format(A_HREF_FORMAT, url, linkContent);
 }
コード例 #4
0
        /// <summary>
        /// Зарегистрировать правило.
        /// </summary>
        /// <typeparam name="T">Тип правила.</typeparam>
        /// <param name="ruleInfo">Инфо правила.</param>
        public void Register <T>(IRuleInfo ruleInfo) where T : AbstractRule
        {
            if (this.RuleTypes.ContainsKey(ruleInfo))
            {
                throw new ArgumentException("Rule with current info is already registered.", nameof(ruleInfo));
            }

            if (this.RuleTypes.Any(pair => pair.Key.Name == ruleInfo.Name))
            {
                throw new ArgumentException("Rule with current name is already registered.", nameof(ruleInfo));
            }

            if (this.RuleTypes.ContainsValue(typeof(T)))
            {
                throw new Exception("Current rule is already registered with other info.");
            }

            this.RuleTypes.Add(ruleInfo, typeof(T));
        }
コード例 #5
0
        private static string GetLinkFormat(IRuleInfo ruleInfo)
        {
            string url;

            if (ruleInfo is CustomRuleInfo)
            {
                url = ((CustomRuleInfo)ruleInfo).HelpUrlAsString;
                url = url ?? string.Empty;
            }
            else
            {
                url = ruleInfo.HelpUrl == null ? string.Empty : ruleInfo.HelpUrl.ToString();
            }
            string linkContent = url;

            if (myArgumentsParser.IsMicrosoft)
            {
                linkContent = string.Format(MSDN_LINK_CONTENT, ruleInfo.Id);
            }
            return(string.Format(A_HREF_FORMAT, url, linkContent));
        }
コード例 #6
0
 private static string GetHumanReadableName(IRuleInfo ruleInfo)
 {
     return ruleInfo is CustomRuleInfo ? ((CustomRuleInfo) ruleInfo).HumanReadableName : ruleInfo.Name;
 }
コード例 #7
0
 private static string GetHumanReadableName(IRuleInfo ruleInfo)
 {
     return(ruleInfo is CustomRuleInfo ? ((CustomRuleInfo)ruleInfo).HumanReadableName : ruleInfo.Name);
 }