複製鏈接
請複製以下鏈接發送給好友

局部類

鎖定
在C# 1.x中,要求類中所有的代碼必須集中在一起,放在一個文件夾中。雖然這種在一個文件中維護一個類的所有代碼,是一項比較好的編程要求,但是在某些情況下,例如,類變得很複雜,代碼很冗長,這種編程要求就成為了一個不切實際的約束。另外,開發人員經常使用代碼生成器來生成一個應用程序的初始結構,然後修改產生的代碼。不幸的是,當以後需要再次發佈源代碼的時候,現存的修正會被重寫。
中文名
局部類
所屬領域
計算機
性    質
電腦術語
釋    義
代碼集中在一起放在一個文件夾

目錄

局部類含義及功能

為了解決以上的問題,C# 2.0中提供了一種新的技術特性——局部類。局部類允許類、結構和接口被分成多個小塊兒並存儲在不同的源文件中,這樣的實現很容易開發和維護。另外,局部類可以分離代碼生成器產生的代碼和開發人員書寫的代碼,這使得利用工具來加強產生的代碼變得容易。實現局部類,即在多個部分中定義一個類時,必須使用新的partial關鍵字來標註分割,這樣可以將局部類的一部分放在一個源文件中,而將局部類的另一部分放在不同的源文件中。

局部類示例

在下面的示例中,一個局部類的實現代碼被分成兩個部分,放置在兩個不同的源文件中。另外,代碼的第一部分是由代碼產生器生產的,而第二部分是開發人員手工編寫的。
第一部分代碼如下所示:
public partial class Customer
private int id;
private string name;
private string address;
private List<Order> orders;
public Customer
...
第二部分代碼如下所示:
public partial class Customer
public void SubmitOrder(Order order)
orders.Add(order);
public bool HasOutstandingOrders()
return orders.Count > 0;
第一部分代碼由代碼生成器創建,主要包括的是程序代碼的結構。第二部分代碼是開發人員手工編寫,主要是一些業務邏輯的實現。由於二者都使用partial關鍵字和類名Customer,因此,兩部分都稱為局部類Customer。這種實現方法在保證代碼結構的同時,使得代碼更加清晰和易於維護。