局部类

王朝百科·作者佚名  2010-06-16
窄屏简体版  字體: |||超大  

含义及功能在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。这种实现方法在保证代码结构的同时,使得代码更加清晰和易于维护。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航