我有一个函数有两个固定的参数.但是下一个论点并不固定,可能有两个或三个或四个.
这是一个运行时参数,那么如何定义该函数呢?
我的代码看起来像:
public ObservableCollection<ERCErrors> ErrorCollectionWithValue (string ErrorDode,int MulCopyNo,dynamic arguments comming it should be 2 or 3) { return null; }
解决方法
1)
params (C# Reference)
public ObservableCollection<ERCErrors>ErrorCollectionWithValue (string ErrorDode,params object[] args) { //... }
2)Named and Optional Arguments (C# Programming Guide)
public ObservableCollection<ERCErrors> ErrorCollectionWithValue (string ErrorDode,object arg1 = null,int arg2 = int.MinValue) { //... }
3)也许简单的方法overloading仍然适合更好,将方法逻辑分离到不同的方法?在此链接下,您还可以找到命名参数和可选参数的其他说明