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