首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

深入理解 C# 3.0 五大主要改進 (2) - 延伸方法與物件初始化設定

     編輯:關於C語言

延伸方法應用

引入命名空間後,該型別實例即可調用延伸方法:


using MyExtensionMethods;

namespace MyNamespace
{
    public class MyClass
    {
        public MyClass()
        {
            string data = "this is my data";
            string nospaces = data.NoSpaces(); // 像實例方法調用
        }
    }
}

第一個參數 this string data 決定擴充目標型別;this object data 則擴充所有物件。

優先序規則

延伸方法優先序**低於實例方法**。同簽名時執行實例方法。

3. 物件初始化設定

C# 2.0 需多個建構函式設定屬性組合:


Customer myCustomer = new Customer("Zach", "Smith");
public Customer(string firstName, string lastName) : this() { ... }
public Customer() { }

C# 3.0 任意屬性單一陳述式初始化:


Customer myCustomer = new Customer { FirstName = "Zach", LastName = "Smith" };
public Customer() { } // 僅需無參數建構函式

可讀性提升


// 建構函式參數含義不明確
Car car = new Car(18, 10, 550);

// 物件初始化設定一目瞭然
Car car = new Car { WheelDiameter = 18, WheelWidth = 10, Horsepower = 550 };

雖多輸入字元,但**自文件化**特性極大提升維護性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved