C# 2010命名和可选参数的新特性(2)
{
CreateUser("admin","adminpassword",50);
}
///
/// 创建用户
///
///
用户名称
///
用户密码
///
积分
///
是否锁定
static void CreateUser(string name, string password,
int score=20,bool isLocked=false)
{
Console.WriteLine("name:{0},password:{1}", name, password);
}
在所有必须参数后面定义可选参数,如果在调用时提供了某个可选参数的值,那么必须提供该可选参数之前所有可选参数的值(如果此参数之前有可选参数),而不允许使用逗号分隔的形式提供参数,即以下调用是错误的:
CreateUser(“admin”,“adminpassword”,,true);
而必须写成:
CreateUser(“admin”,“adminpassword”,20,true);、
或者更好的解决办法是使用命名参数:
CreateUser(“admin”,“adminpassword”,isLocked:true);
1.3. COM API访问
命名和可选参数与dynamic和其他增强一起使得访问COM API更加方便。例如在C#3.0或更早的版本中在调用某些COM API时,如果要省略某些参数需要使用Type.Missing,例如以下代码(代码系摘抄):
相关新闻>>
- 发表评论
-
- 最新评论 更多>>