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

    }

    作者:生鱼片

    出处:http://carysun.cnblogs.com/

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    自定义百度地图链接
    Spring中获取request、response对象的方法
    Windows中使用TortoiseGit提交项目到GitLab配置
    IDEA热部署
    SpringBoot+thymeleaf+mybatis+shiro
    lombok——简化Java代码
    SpringBoot部署到tomcat
    深度学习--深入理解Batch Normalization
    MCMC(一)蒙特卡罗法
    Java反射机制详解
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/3773650.html
Copyright © 2020-2023  润新知