快好知 kuaihz订阅看过栏目

 

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

投稿
非常不爽,删了吧! 相关词条:其他 private 示例 源文件