当前位置:3016.com-金沙城中心官网 > 编程 > 金沙城中心官网Partial关键字

金沙城中心官网Partial关键字

文章作者:编程 上传时间:2019-10-11

Partial关键词定义的类能够在三个地点被定义,最终编写翻译的时候会被看做三个类来管理。

首先看一段在C#中平日出现的代码,界面和后台分离,但是类名一样。

金沙城中心官网 1

public partial class Form1 : Form
{
    public Form1()
     {
         InitializeComponent();
     }
}

金沙城中心官网 2

内部使用了partial,大家开发Form1.Designer.cs文书,可以见见,原来Form1的另一部分类是在这里个文件中规划的。那一个片段类中定义了大家运用的控件、事件委托以至如Dispose方法等。因为那之中的代码都以自动生成的,由此铺排成了三个部分类。

Partial是一对类型的意思。允许大家将多个类、结构或接口分成多少个部分,分别达成在多少个不等的.cs文件中。C#编写翻译器在编译的时候仍会将次第部分的有些类型合併成七个完好的类

一部分类型适用于以下情形:
(1) 类型特别大,不宜放在八个文本中落实。
(2) 贰个类型中的一有个别代码为自动化学工业具生成的代码,不宜与大家休戚与共编排的代码混合在一同。
(3) 要求多个人同盟编写制定贰个类。

一对类型的界定
(1) 局地类型只适用于类、接口、结构,不帮忙委托和枚举。
(2) 同叁个类别的次第部分必需都有修饰符 partial。
(3) 使用一些类型时,贰个品种的种种部分必需放在同一的命名空间中。
(4) 八个品类的顺序部分必得被同不正常候编写翻译。

3. 有的类型的举世瞩目点

(1) 关键字partial是贰个上下文关键字,独有和 class、struct、interface 放在一齐时才有十分重要字的意思。因而partial的引进不会潜濡默化现成代码中名字为partial的变量。
(2) 局部类型的依次部分经常是分开放在多少个例外的.cs文件中,但C#编写翻译器允许大家将他们位于同样文件中。

4. 片段类型的行使天性
在有些类型上的特点具备“累积”效应。

[Attribute1, Attribute2("Hello")]
partial class Class1{}

[Attribute3, Attribute2("Exit")]
partial class Class1{}

相当于

[Attribute1, Attribute2("Hello"), Attribute3, Attribute2("Exit")]
class Class1 {}

注:Attribute2属性允许在类上翻来覆去采纳。

5. 有的类型上的修饰符

(1) 多个类其余次第部分上的访问修饰符必需维持一致性。
(2) 假诺贰个项目有多个片段应用了abstract修饰符,那么一切类都将被视为抽象类。
(3) 假使二个品类有七个片段选取了 sealed 修饰符,那么一切类都将被视为密闭类。
(4) 二个类的逐个部分不能够利用相互冲突的修饰符,比如无法在贰个部分上运用abstract,又在另叁个有个别上运用sealed。

6. 片段类型的基类和接口

(1) 二个档期的顺序的逐个部分上点名的基类必得一律。某些部分能够不内定基类,但借使钦命,则必需一律。
(2) 局地类型上的接口具备“累计”效应。

partial class Class2: Iinterface1, Iinterface2 {}
partial class Class2: Iinterface3 {}
partial class Class2: Iinterface2 {}

相当于

class Class2: Iinterface1, Iinterface2, Iinterface3 {}

光阴会记录下任何。

本文由3016.com-金沙城中心官网发布于编程,转载请注明出处:金沙城中心官网Partial关键字

关键词: