码迷,mamicode.com
首页 > 其他好文 > 详细

选择性参数

时间:2019-09-12 10:07:00      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:选择   参考   ons   技术论坛   目标   oid   odi   code   传参   

"选择性参数( Optional Parameters )",顾名思义就是传参数给 method 时,想要选择性填入
未传的参数就是以默认值代入


"选择性参数( Optional Parameters )",顾名思义就是传参数给 method 时,想要选择性填入
未传的参数就是以默认值代入,如下:

public void test(int i, string str = "123")
{
  Message.Show(str);
}

这样在调用 test 这个 Method 时,就可以只打 test(5);
视情况决定是否输入 str 参数

使用的时候要注意以下几点:
1.选择性参数必须放在必要性参数后面

2.选择性参数必须是 compile time constant
如下例会显示 Default parameter value for ‘str‘ must be a compile-time constant?:

private static str123 = "123";
private void test(int i, string str = str123)
{
}

(因为如此,所以我没有办法将 MethodInfo 弄成选择性参数...?)

3.和.Net Framework 的版本无关,而是和编译器的版本有关,C# 从 4.0 版开始支持
即使目标是.Net Framework 2.0的框架,依然可以编译成功


4.重载时的顺序是:不用省略选择性参数 > 不用转型的函数
下面优先选取顺序为由上而下:

public void test()
public void test(string str = "123")
public void test(object str = "123")

以上注意事项有参考 larrynung 大大和 Bill Chung 大大在技术论坛的答复
特此感谢^^

原文:大专栏  选择性参数


选择性参数

标签:选择   参考   ons   技术论坛   目标   oid   odi   code   传参   

原文地址:https://www.cnblogs.com/petewell/p/11509997.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!