Beispiel #1
0
        private string GetTidyParameters(TidyOptions aTidyPage)
        {
            string parameters = aTidyPage.Fix ? $" {ScriptConstants.kTidyFix} ''-*," : $" {ScriptConstants.kTidy} ''-*,";

            if (null != aTidyPage.TidyChecks && 0 < aTidyPage.TidyChecks.Length)
            {
                parameters = $"{parameters}{String.Join(",", aTidyPage.TidyChecks)}''";
            }
            else
            {
                foreach (PropertyInfo prop in aTidyPage.GetType().GetProperties())
                {
                    object[] propAttrs          = prop.GetCustomAttributes(false);
                    object   clangCheckAttr     = propAttrs.FirstOrDefault(attr => typeof(ClangCheckAttribute) == attr.GetType());
                    object   displayNameAttrObj = propAttrs.FirstOrDefault(attr => typeof(DisplayNameAttribute) == attr.GetType());

                    if (null == clangCheckAttr || null == displayNameAttrObj)
                    {
                        continue;
                    }

                    DisplayNameAttribute displayNameAttr = (DisplayNameAttribute)displayNameAttrObj;
                    var value = prop.GetValue(aTidyPage, null);
                    if (Boolean.TrueString != value.ToString())
                    {
                        continue;
                    }

                    parameters = $"{parameters},{displayNameAttr.DisplayName}";
                }
                parameters = $"{parameters}''";
            }
            return(parameters);
        }