Fab*_*ian 5 c# optional-parameters
我有以下情况:
构造函数需要6个值.其中一些有默认值,有些则没有.
#pseudocode# Foo(int a, int b=2, int c=3, int d=4, int e=5, int f){}
Run Code Online (Sandbox Code Playgroud)
我希望能够调用所有可能的组合,而不必总是写出所有6个参数.
#pseudocode# Foo f1 = new Foo(a=1, d=7, f=6);
#pseudocode# Foo f2 = new Foo(a=1, b=9, d=7, f=6);
Run Code Online (Sandbox Code Playgroud)
除了使用方法重载(这将是乏味的)这样做,是否有更优雅的解决方案?
moi*_*eme 12
在C#4中,有命名参数参见Named和Optional Arguments(C#编程指南)
这将导致
new Foo(a: 1, d: 7, f: 6);
Run Code Online (Sandbox Code Playgroud)
另一种解决方案是使用您的defaut值定义构造函数,并使用Object Initializer设置值如何:使用对象初始化程序初始化对象(C#编程指南)
new Foo()
{
a = 1,
d = 7,
f = 6
};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
162 次 |
最近记录: |