zoukankan      html  css  js  c++  java
  • C#4.0新特性:可选参数,命名参数,Dynamic

    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关键字用于声明一个动态对象,然后通过该动态对象去调用方法或读写属性。以前我们都是在运行时通过反射,EmitCodeDom等技术来完成。创建一个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();

            }

     

  • 相关阅读:
    中文字符串怎么按拼音比较大小(转)
    C语言的面向对象技术(转)
    学校网又不行了哇。人人也上不了了。
    POJ2255Tree Recovery
    myeclipse无法编译java源文件(转)
    SQL语句中JOIN的用法(转)
    POJ3094Quicksum
    ssh_exchange_identification: Connection closed by remote host 问题的解决 (转)
    56视频网除了广告都看不了了
    java实现微信扫一扫详解
  • 原文地址:https://www.cnblogs.com/carysun/p/CSharp4.html
Copyright © 2011-2022 走看看