Example #1
0
        /// <summary>
        ///     Retrieves configuration builder for particular enumeration value
        /// </summary>
        /// <param name="conf">Configuration builder</param>
        /// <param name="propertyName">String enum property name</param>
        /// <returns>Configuration builder</returns>
        public static EnumValueExportConfiguration Value(this IEnumConfigurationBuidler conf, string propertyName)
        {
            var field = conf.EnumType._GetField(propertyName);
            var c     = new EnumValueExportConfiguration(field, conf.Context.Project.Blueprint(conf.EnumType));

            return(c);
        }
Example #2
0
        /// <summary>
        /// Overrides enum value's string initializer. Please escape quotes manually.
        /// </summary>
        /// <param name="conf"></param>
        /// <param name="initializer"></param>
        /// <returns></returns>
        public static EnumValueExportConfiguration Initializer(this EnumValueExportConfiguration conf,
                                                               string initializer)
        {
            var at = (IAttributed <TsValueAttribute>)conf;

            at.AttributePrototype.Initializer = initializer;
            return(conf);
        }
Example #3
0
        /// <summary>
        ///     Retrieves configuration builder for particular enumeration value
        /// </summary>
        /// <typeparam name="T">Enumeration type</typeparam>
        /// <param name="conf">Configuration builder</param>
        /// <param name="value">Enum value</param>
        /// <returns>Configuration builder</returns>
        public static EnumValueExportConfiguration Value <T>(this EnumConfigurationBuilder <T> conf, T value)
            where T : struct
        {
            var n     = Enum.GetName(typeof(T), value);
            var field = typeof(T)._GetField(n);
            var c     = new EnumValueExportConfiguration(field, conf._blueprint);

            return(c);
        }
Example #4
0
        /// <summary>
        ///     Configures export of particular enumeration value
        /// </summary>
        /// <param name="conf">Configuration builder</param>
        /// <param name="propertyName">String enum property name</param>
        /// <param name="valueConf">Enum value export configuration</param>
        /// <returns>Configuration builder</returns>
        public static T Value <T>(this T conf, string propertyName, Action <EnumValueExportConfiguration> valueConf)
            where T : IEnumConfigurationBuidler
        {
            var field = conf.EnumType._GetField(propertyName);
            var c     = new EnumValueExportConfiguration(field, conf.Context.Project.Blueprint(conf.EnumType));

            valueConf(c);
            return(conf);
        }