如何在C#中使用可选参数?当C#尚未支持可选参数时(即在C#4之前),就会询问此问题。我们正在构建一个通过C#类以编程方式生成的Web API。该类有方法GetFooBar(int a, int b),API有一个GetFooBar接受查询参数的方法&a=foo &b=bar。这些类需要支持可选参数,C#语言不支持这些参数。什么是最好的方法?
3 回答
青春有我
TA贡献1784条经验 获得超8个赞
惊讶没有人提到C#4.0可选参数的工作原理如下:
public void SomeMethod(int a, int b = 0){ //some code}
编辑:我知道在问到这个问题的时候,C#4.0并不存在。但是这个问题在Google中仍然排在“C#可选参数”的第一位,所以我想 - 这个答案值得在这里。抱歉。
潇潇雨雨
TA贡献1833条经验 获得超4个赞
另一种选择是使用params关键字
public void DoSomething(params object[] theObjects){ foreach(object o in theObjects) { // Something with the Objects… }}
叫做......
DoSomething(this, that, theOther);
qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
在C#中,我通常会使用多种形式的方法:
void GetFooBar(int a) { int defaultBValue; GetFooBar(a, defaultBValue); }void GetFooBar(int a, int b){ // whatever here}
更新: 上面提到的是我用C#2.0做默认值的方式。我现在正在使用的项目是使用C#4.0,它现在直接支持可选参数。这是我在我自己的代码中使用的一个例子:
public EDIDocument ApplyEDIEnvelop(EDIVanInfo sender, EDIVanInfo receiver, EDIDocumentInfo info, EDIDocumentType type = new EDIDocumentType(EDIDocTypes.X12_814), bool Production = false){ // My code is here}
- 3 回答
- 0 关注
- 509 浏览
添加回答
举报
0/150
提交
取消