Esempio n. 1
0
        public string Save( )
        {
            StringBuilder [] stringBuilders =
                new StringBuilder[Enum.GetValues(typeof(SettingCategory)).
                                  OfType <SettingCategory> ( ).
                                  Max(type => ( int )type)];

            foreach (SettingCategory type in Enum.GetValues(typeof(SettingCategory)))
            {
                stringBuilders [( int )type] = new StringBuilder( );
            }

            foreach (PropertyInfo property in typeof(Settings).GetProperties( ))
            {
                SettingItemAttribute attribute =
                    ( SettingItemAttribute )property.GetCustomAttribute(typeof(SettingItemAttribute));
                int           index           = ( int )attribute.SettingCategory;
                StringBuilder propertyBuilder = stringBuilders [index];
                propertyBuilder.AppendLine(attribute.ToString( ));
                propertyBuilder.AppendLine($"{property . Name} = {property . GetValue ( this )}");
                propertyBuilder.AppendLine( );
            }

            StringBuilder builder = new StringBuilder( );

            for (int i = 0; i < stringBuilders.Length; i++)
            {
                builder.AppendLine($"##{( SettingCategory ) i}");
                builder.AppendLine( );
                builder.AppendLine(stringBuilders [i].ToString( ));
                builder.AppendLine( );
            }

            return(builder.ToString( ));
        }
Esempio n. 2
0
        public static Settings GenerateNew( )
        {
            Settings setting = new Settings( );

            foreach (PropertyInfo property in typeof(Settings).GetProperties( ))
            {
                SettingItemAttribute attribute =
                    ( SettingItemAttribute )property.GetCustomAttribute(typeof(SettingItemAttribute));
                property.SetValue(setting, attribute.DefultValue);
            }

            return(setting);
        }