阅读: 957 评论: 16 作者: 生鱼片 发表于 2009-12-09 21:09 原文链接

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();

        }

 

  发表评论

新闻频道:广电总局首次回应关闭BT网站

推荐链接:Windows 7专题发布

网站导航:博客园首页  个人主页  新闻  社区  博问  闪存  知识库


文章来源: http://www.cnblogs.com/carysun/archive/2009/12/09/csharp4.html