NamedParameter

命名参数,C#4.0新增的另一个方法调用功能,利用命名参数,调用者可以显式指定参数名,并为该参数赋一个值,而不是像以前那样,只能依据参数顺序来决定哪个值赋给哪个参数。

 1 using System;
 2 
 3 namespace NamedParameter
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             DisplayGreeting(firstName: "Zhang", lastName: "San");
10         }
11 
12         static void DisplayGreeting(string firstName, string middleName = default(string), string lastName = default(string))
13         {
14             Console.WriteLine("You input the Full name is :{0},{1},{2}", firstName, middleName, lastName);
15         }
16     }
17 }

执行结果:

1 You input the Full name is :Zhang,,San
2 请按任意键继续. . .

总结:
优点:如果一个方法中有大量的参数,而且许多参数都是可选的,那么命名参数语法肯定能带来不少的便利。

缺点:同时,他也牺牲了方法接口的灵活性。过去,参数名可以自由更改,不会造成调用代码无法编译。但在添加了命名参数以后,参数名就成为方法接口的一部分,更改名称会导致命名参数的代码无法编译。

 

 

posted @ 2013-01-18 10:00  天之涯,海之角  阅读(300)  评论(0编辑  收藏  举报