Sar*_*els 8 c# parameters arguments syntactic-sugar
我不知道这是否可行,但在我的一些单元测试中,我最终用相同的参数初始化不同的对象.我希望能够将这些参数存储在某个变量中,并使用该变量初始化多参数对象构造函数,而不是执行以下操作:
Thing thing1 = new Thing(arg1, arg2, arg3, arg4);
Thing thing2 = new Thing(arg1, arg2, arg3, arg4);
Thing thing3 = new Thing(arg1, arg2, arg3, arg4);
Run Code Online (Sandbox Code Playgroud)
我可以做以下事情:
MagicalArgumentsContainer args = (arg1, arg2, arg3, arg4);
Thing thing1 = new Thing(args);
Thing thing2 = new Thing(args);
Thing thing3 = new Thing(args);
Run Code Online (Sandbox Code Playgroud)
有没有办法在没有覆盖Thing的构造函数的情况下执行此操作来获取一个手动爆炸并从中获取参数的列表?也许一些C#语法糖?
jas*_*son 13
我的意思是,就是这样:
Func<Thing> f = () => new Thing(arg1, arg2, arg3, arg4);
Thing thing1 = f();
Thing thing2 = f();
Thing thing3 = f();
Thing thing4 = f();
Run Code Online (Sandbox Code Playgroud)
请注意闭包语义.