分部類和結構是在類和結構的聲明中,使用了partial修飾符的類和結構。位于不同文件中的同一個分部類,必須位于同一個命名空間或包含類型(對嵌入式分部類)之中,而且在所有類修飾符必須完全一致。對泛型類,還要求聲明中的類型參數和對類型參數的約束也完全一致。但是類的屬性、基類和實現接口的列表卻可以不同。另外,分部類也可以用作嵌套類,不過其包含類必須也是分部類。
編譯時,編譯器會合并位于不同文件中的同一個分部類的XML注釋、屬性、基類、接口和成員。例如:
// Customer1.cs
[CustomAttribute]
public partial class Customer : BaseClass, IInterface1
{
private int id;
private string name;
private string address;
private List<Order> orders;
public Customer() {
……
}
}
// Customer2.cs
[AnotherAttribute]
public partial class Customer : IInterface2
{
public void SubmitOrder(Order orderSubmitted) {
orders.Add(orderSubmitted);
}
public bool HasOutstandingOrders() {
return orders.Count > 0;
}
}
編譯時會合并成:
[CustomAttribute]
[AnotherAttribute]
public class Customer : BaseClass, IInterface1, IInterface2
{
private int id;
private string name;
private string address;
private List<Order> orders;
public Customer() {
……
}
public void SubmitOrder(Order orderSubmitted) {
orders.Add(orderSubmitted);
}
public bool HasOutstandingOrders() {
return orders.Count > 0;
}
}
|
新聞熱點
疑難解答