Example #1
0
 public ConfigBuilder WithFoo(ConfigBuilder cb, String foo)
 {
     _values["Foo"] = foo;
     //cb.foo = _values["Foo"];
     //return ConfigBuilder();
     return(cb);
 }
Example #2
0
 public ConfigBuilder WithSub(ConfigBuilder cb, String subfoo, String subbar)
 {
     _values["subFoo"] = subfoo;
     _values["subBar"] = subbar;
     //cb.foo = _values["Foo"];
     //return ConfigBuilder();
     return(cb);
 }
Example #3
0
        public Config Build(ConfigBuilder cb)
        {
            var config = cb.Outconfig;

            config.Foo           = _values["Foo"];
            config.SubConfig.Foo = _values["subFoo"];
            config.SubConfig.Bar = _values["subBar"];
            return(config);
        }
Example #4
0
        //to-do: реализовать настройку конфига всеми известными методами

        static void Main(string[] args)
        {
            //как все (1)
            var config = new Config
            {
                Foo       = "foo",
                SubConfig = new SubConfig
                {
                    Foo = "sub-foo",
                    Bar = "sub-bar",
                }
            };
            var foo = new Foo(config);


            //метод расширения класса (2)
            var extConfig = Config.Default().WithFoo("foo-ext").WithSub("sub-foo-ext", "sub-bar-ext");
            var extFoo    = new Foo(extConfig);


            //передачей лямбды нового экземпляра класса конфиг (3)
            var lambdaconfig = Method(__config => {
                __config.Foo           = "foo-lambda";
                __config.SubConfig.Foo = "sub-foo-lambda";
                __config.SubConfig.Bar = "sub-bar-labmda";
            });
            var lambdaFoo = new Foo(lambdaconfig);


            //создание класса Билдер (4)
            ConfigBuilder builder = new ConfigBuilder();

            builder = builder.WithFoo(builder, "foo-builder").WithSub(builder, "sub-foo-builder", "sub-bar-builder");
            var bconfig = builder.Build(builder);
            var bfoo    = new Foo(bconfig);
        }
Example #5
0
 public void configBuilder()
 {
     ConfigBuilder cb = new ConfigBuilder();
 }