#pragma warning disable IDE0060 // Nicht verwendete Parameter entfernen
        public static AttributeParser MethodAttributes(this Parsers.SetupHelper setup, Action <AttributeConfiguration>?configure = null, object?instance = null, params Type[] containerTypes)
#pragma warning restore IDE0060 // Nicht verwendete Parameter entfernen
        {
            var serviceProvider = ServiceProvider.Default.Clone();

            var configuration = new AttributeConfiguration(serviceProvider, containerTypes, instance);

            serviceProvider.Register <Configuration>(configuration);
            serviceProvider.Register <AttributeConfiguration>(configuration);

            configure?.Invoke(configuration);

            return(new AttributeParser(
                       serviceProvider.GetService <AttributeConfiguration>(),
                       serviceProvider.GetService <IParameterFormatter>(),
                       serviceProvider.GetService <IValueConverter>(),
                       serviceProvider.GetService <IHelpPresenter>()
                       ));
        }
Ejemplo n.º 2
0
#pragma warning disable IDE0060 // Nicht verwendete Parameter entfernen
        public static AttributeParser ClassAttributes(this Parsers.SetupHelper instance, Action <AttributeConfiguration>?configure = null, params Type[] optionTypes)
#pragma warning restore IDE0060 // Nicht verwendete Parameter entfernen
        {
            var serviceProvider = ServiceProvider.Default.Clone();

            var configuration = new AttributeConfiguration(serviceProvider, optionTypes);

            serviceProvider.Register <Configuration>(configuration);
            serviceProvider.Register <AttributeConfiguration>(configuration);

            //TODO: now that the verbs are on the configuration, wouldn't it make more sense to put it at a position after the parser has filled the config?
            configure?.Invoke(configuration);

            return(new AttributeParser(
                       serviceProvider.GetService <AttributeConfiguration>(),
                       serviceProvider.GetService <IParameterFormatter>(),
                       serviceProvider.GetService <IValueConverter>(),
                       serviceProvider.GetService <IHelpPresenter>()
                       ));
        }
 public static AttributeParser MethodAttributes <TContainer>(this Parsers.SetupHelper setup, Action <AttributeConfiguration>?configure = null, TContainer?instance = null) where TContainer : class
 {
     return(MethodAttributes(setup, configure, instance, typeof(TContainer)));
 }
Ejemplo n.º 4
0
 public static AttributeParser ClassAttributes <TOption1, TOption2, TOption3, TOption4>(this Parsers.SetupHelper instance, Action <AttributeConfiguration>?configure = null)
 {
     return(ClassAttributes(instance, configure, typeof(TOption1), typeof(TOption2), typeof(TOption3), typeof(TOption4)));
 }