博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 局部类型 Partial
阅读量:4995 次
发布时间:2019-06-12

本文共 916 字,大约阅读时间需要 3 分钟。

Partial是局部类型的意思。允许我们将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。C#编译器在编译的时候仍会将各个部分的局部类型合并成一个完整的类

局部类型适用情况:

(1) 类型特别大,不宜放在一个文件中实现

(2) 一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起

(3) 需要多人合作编写一个类

局部类型的限制:

(1) 局部类型只适用于类、接口、结构,不支持委托和枚举

(2) 同一个类型的各个部分必须都有修饰符 partial

(3) 使用局部类型时,一个类型的各个部分必须位于相同的命名空间中

(4) 一个类型的各个部分必须被同时编译

局部类型注意点:

(1) 关键字partial是一个上下文关键字,只有和 class、struct、interface 放在一起时才有关键字的含义。因此partial的引入不会影响现有代码中名称为partial的变量

(2) 局部类型的各个部分一般是分开放在几个不同的.cs文件中,但C#编译器允许我们将他们放在同一文件中

局部类型上的修饰符:

(1) 一个类型的各个部分上的访问修饰符必须维持一致性

(2) 如果一个类型有一个部分使用了abstract修饰符,那么整个类都将被视为抽象类

(3) 如果一个类型有一个部分使用了 sealed 修饰符,那么整个类都将被视为密封类

(4) 一个类的各个部分不能使用相互矛盾的修饰符,比如不能在一个部分上使用abstract,又在另一个部分上使用sealed

局部类型的基类和接口:

(1) 一个类型的各个部分上指定的基类必须一致。某个部分可以不指定基类,但如果指定,则必须相同

(2) 局部类型上的接口具有“累加”效应

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

转载于:https://www.cnblogs.com/ButterflyEffect/p/6791863.html

你可能感兴趣的文章
深入懂得android view 生命周期
查看>>
android.widget.FrameLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams
查看>>
Android 中 更新视图的函数ondraw() 和dispatchdraw()的区别
查看>>
《Java源码解析》之NIO的Selector机制(Part1:Selector.open())
查看>>
webpack安装问题
查看>>
Qt学习记录--Qt::CaseSensitive
查看>>
你的灯还亮着吗阅读笔记之一
查看>>
python介绍
查看>>
Unity-Editor按钮和菜单显示
查看>>
SharePoint InfoPath 保存无法发布问题
查看>>
word2vec:主要概念和流程
查看>>
Java - MyBites 逆向工程
查看>>
104. Maximum Depth of Binary Tree
查看>>
Python--变量作用域
查看>>
2017-2018-1 20155235 《信息安全系统设计基础》第九周学习总结
查看>>
!!和??
查看>>
matlab演奏卡农 Cripple Pachebel's Canon on Matlab
查看>>
apache的MPM机制-prefork
查看>>
js的一些实用的小技巧
查看>>
vue-cli中理不清的assetsSubDirectory 和 assetsPublicPath
查看>>