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

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

  • 相关阅读:
    ie678兼容问题
    ie6/7中 zindex兼容问题
    mac svn 操作
    location.hash
    让 div 浮动到底端
    timeout问题
    让footer 自适应在底端
    js获取浏览器的高度
    ajax浏览器后退功能实现
    经典SQL语句大全(二)
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/3773650.html
Copyright © 2011-2022 走看看