예제 #1
0
        public void Custom_ModelBinders_specified_via_BindingContext_can_be_used_for_command_argument_binding()
        {
            ClassWithSetter <int> boundInstance = null;

            var rootCommand = new RootCommand
            {
                new Argument <int>()
            };

            rootCommand.Handler = CommandHandler.Create <ClassWithSetter <int> >(x => boundInstance = x);

            var parser = new CommandLineBuilder(rootCommand)
                         .AddMiddleware(context =>
            {
                var binder = new ModelBinder <ClassWithSetter <int> >();

                binder.BindMemberFromValue(instance => instance.Value, _ => 456);

                context.BindingContext.AddModelBinder(binder);
            })
                         .Build();

            parser.Invoke("123");

            boundInstance.Value.Should().Be(456);
        }
예제 #2
0
 public void Method()
 {
     var classWithSetter = new ClassWithSetter();
     classWithSetter.A = 10;
 }