跳转到内容

不完全类型:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
Addbot留言 | 贡献
机器人:移除1个跨语言链接,现在由维基数据d:q2623007提供。
Makecat-bot留言 | 贡献
机器人:移除已由维基数据提供的跨语言链接en
第33行: 第33行:
[[Category:面向对象编程]]
[[Category:面向对象编程]]
[[Category:数据类型]]
[[Category:数据类型]]

[[en:Class (computer programming)#Partial]]

2013年4月3日 (三) 06:44的版本

计算中,一个不完全类型是一种特殊的数据类型,它的定义会跨越多个源文件。在面向对象编程中会由于一些不同的原因用到:性能和成本常常会阻止使用几个分离的类;代码生成工具的使用越来越多,而将机器生成的代码和程序员写的代码分离开来,则会十分方便。

不完全类型是C# 2.0的一个特性。用于建立一个不完全类定义的语法如下:

SourceFile1.cs

public partial class ExampleClass
{
   public void SomeFunction()
   {
       // ...
   }
}

SourceFile2.cs

public partial class ExampleClass
{
   public void SomeOtherFunction()
   {
       // ...
   }
}

在 C# 2.0之前的版本,这会造成一个编译错误,因为同样的类重复定义了两次(同样也因为partial关键字)。在C#2.0中,它会被看作为一个单一的类定义。其它C#2.0的新特性包括匿名方法迭代子泛型(类似于C++中的模板)。

使用不完全类对生成的代码没有任何影响((unless editor meta-data is emitted).