标签:选择 参考 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