c#4.0 新特性 可选参数 可曾用过?

1.可选参数

可以为方法的参数设置一个默认值,如下:
class Program
    {
        static void Main(string[] args)
        {
            Show();
            Show("cary");
            Console.ReadLine();
        }
 
        public static void Show(string msg = "")
        {
            Console.WriteLine("Hello {0}",msg);
        }
    }
2.命名参数
上面的Show方法可以象下面的方式调用:
 Show(msg:"cary");
当你的方法有多个同一类型的可选参数(optional parameters)时,命名参数(Named parameters)特别有用。如果不用命名参数,编译器就不知道传递的是哪个参数。 
3.Dynamic 特性
dynamic关键字用于声明一个动态对象,然后通过该动态对象去调用方法或读写属性。以前我们都是在运行时通过反射,Emit,CodeDom等技术来完成。创建一个dynamic类型的对象需要使用一个特殊的构建器叫ExpandoObject。
class Program
    {
        static void Main(string[] args)
        {
            dynamic person = new ExpandoObject();
            person.Name = "cary";
            person.Age = 25;
            person.ShowDescription = new Func<string>(() => person.Name + person.Age);
 
            Console.WriteLine(person.Name+person.Age+person.ShowDescription());           
            Console.ReadLine();
        }
原文地址:https://www.cnblogs.com/feifeinet/p/3197824.html