词条 | 局部类 |
释义 | 含义及功能在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。这种实现方法在保证代码结构的同时,使得代码更加清晰和易于维护。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。