C# 3.0 - partial 分部(类型)

  • C# 3.0 - var 隐式类型声明
  • C# 3.0 -自动属性实现
  • C# 3.0 -对象初始化设置
  • C# 3.0 -集合初始化设置
  • C# 3.0 -匿名类型
  • C# 3.0 -扩展方法
  • C# 3.0 - partial 分部(类型)
  • C# 3.0 - Lambda
  • C# 3.0 - { get; set; } 默认值
  • C# 3.0 - { get; set; } 默认值 2
  • C# 3.0 - yield

partial,有人将其翻译为“部分(类型)”,但在 MSDN 上,译为“分部(类型)”,所以我们还是使用“分部(类型)”这一说法。

分部类

一般来说,一个类、结构或接口位于一个源文件中,但某些情况,比如大型项目、特殊部署时,可能需要把一个类、结构或接口放在几个文件中来处理。等到编译时,自动把它们合起来,这就得应用 C# 分部类了。

C# 分部类的关键字修饰符是 partial。

public partial class Employee
{
    public void DoWork()
    {
    }
}
 
public partial class Employee
{
    public void GoToLunch()
    {
    }
}

上述 Employee 编译后拥有两个方法:DoWork() 和 GoToLunch()。

  • 分部类的各部分都必须指定修饰符 partial。
  • 同一分部类的各部分必须有相同的可访问性,如 public、private 等。
  • partial 必须紧靠 class、struct 或 interface 之前。
  • 同一分部类的各部分必须在同一程序集或同一模块中(.exe 或 .dll 文件)。

分部方法

分部方法是将方法定义和方法实现分隔开,感觉用处不大,特别是分部方法只能是 private 类型。

public partial class Employee
{
    partial void DoWork();
}
 
public partial class Employee
{
    partial void DoWork()
    {
    }
}
  • 分部方法使用 partial 关键词;
  • 分部方法隐式为 private 类型,不可使用 public 访问修饰符;
  • 分部方法不可有返回值。
  • C# 3.0 - var 隐式类型声明
  • C# 3.0 -自动属性实现
  • C# 3.0 -对象初始化设置
  • C# 3.0 -集合初始化设置
  • C# 3.0 -匿名类型
  • C# 3.0 -扩展方法
  • C# 3.0 - partial 分部(类型)
  • C# 3.0 - Lambda
  • C# 3.0 - { get; set; } 默认值
  • C# 3.0 - { get; set; } 默认值 2
  • C# 3.0 - yield

你可能感兴趣的