private private private
含义及功能
在C# 1.x中,要求类中所有的代码必须集中在一起,放在一个文件夹中。虽然这种在一个文件中维护一个类的所有代码,是一项比较好的编程要求,但是在某些情况下,例如,类变得很复杂,代码很冗长,这种编程要求就成为了一个不切实际的约束。另外,开发人员经常使用代码生成器来生成一个应用程序的初始结构,然后修改产生的代码。不幸的是,当以后需要再次发布源代码的时候,现存的修正会被重写。
为了解决以上的问题,C# 2.0中提供了一种新的技术特性——局部类。局部类允许类、结构和接口被分成多个小块儿并存储在不同的源文件中,这样的实现很容易开发和维护。另外,局部类可以分离代码生成器产生的代码和开发人员书写的代码,这使得利用工具来加强产生的代码变得容易。实现局部类,即在多个部分中定义一个类时,必须使用新的partial关键字来标注分割,这样可以将局部类的一部分放在一个源文件中,而将局部类的另一部分放在不同的源文件中。
示例
在下面的示例中,一个局部类的实现代码被分成两个部分,放置在两个不同的源文件中。另外,代码的第一部分是由代码产生器生产的,而第二部分是开发人员手工编写的。
第一部分代码如下所示:
public partial class Customer
{
private int id;
private string name;
private string address;
private List
public Customer()
{
...
}
}
第二部分代码如下所示:
public partial class Customer
{
public void SubmitOrder(Order order)
{
orders.Add(order);
}
public bool HasOutstandingOrders()
{
return orders.Count > 0;
}
}
第一部分代码由代码生成器创建,主要包括的是程序代码的结构。第二部分代码是开发人员手工编写,主要是一些业务逻辑的实现。由于二者都使用partial关键字和类名Customer,因此,两部分都称为局部类Customer。这种实现方法在保证代码结构的同时,使得代码更加清晰和易于维护。
投稿