全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

C#中partial关键字的作用

1. 什么是局部类型?

C# 2.0 引入了局部类型的概念。局部类型允许我们将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。

局部类型适用于以下情况:

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

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

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

局部类型是一个纯语言层的编译处理,不影响任何执行机制——事实上C#编译器在编译的时候仍会将各个部分的局部类型合并成一个完整的类。

  public partial class Program
  {
   static void Main(string[] args)
   {
   }
  }
  partial class Program
  { 
   public void Test()
   { 
   }
  }

2. 局部类型的限制

(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。

(5)如果一个部分类使用了 static修饰符,那么整个类都将被视为静态类。

6. 局部类型的基类和接口

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

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

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

相当于

class Class2: Iinterface1, Iinterface2, Iinterface3 {}

以上所述是小编给大家介绍的C#中partial关键字的作用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# c  # partial关键字  # 详解C# partial 关键字的使用  # C# partial关键字说明  # C# 中的partial 关键字详解  # 修饰符  # 几个  # 都将  # 是一个  # 放在  # 适用于  # 使用了  # 被视为  # 小编  # 都有  # 在此  # 能在  # 给大家  # 不支持  # 会将  # 时才  # 所述  # 给我留言  # 感谢大家  # 放在一起 


相关文章: 东莞专业制作网站的公司,东莞大学生网的网址是什么?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  建站主机与虚拟主机有何区别?如何选择最优方案?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  中山网站制作网页,中山新生登记系统登记流程?  c# await 一个已经完成的Task会发生什么  c# 在高并发下使用反射发射(Reflection.Emit)的性能  网站制作价目表怎么做,珍爱网婚介费用多少?  用v-html解决Vue.js渲染中html标签不被解析的问题  北京制作网站的公司,北京铁路集团官方网站?  如何自定义建站之星网站的导航菜单样式?  如何用免费手机建站系统零基础打造专业网站?  代购小票制作网站有哪些,购物小票的简要说明?  建站之星备案流程有哪些注意事项?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  兔展官网 在线制作,怎样制作微信请帖?  已有域名建站全流程解析:网站搭建步骤与建站工具选择  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  建站上传速度慢?如何优化加速网站加载效率?  如何用腾讯建站主机快速创建免费网站?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  网站制作难吗安全吗,做一个网站需要多久时间?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  建站168自助建站系统:快速模板定制与SEO优化指南  如何选择美橙互联多站合一建站方案?  装修招标网站设计制作流程,装修招标流程?  如何破解联通资金短缺导致的基站建设难题?  太平洋网站制作公司,网络用语太平洋是什么意思?  建站之星后台管理:高效配置与模板优化提升用户体验  简单实现Android验证码  如何在阿里云域名上完成建站全流程?  如何使用Golang table-driven基准测试_多组数据测量函数效率  ,南京靠谱的征婚网站?  建站主机选购指南与交易推荐:核心配置解析  如何通过FTP空间快速搭建安全高效网站?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  Swift开发中switch语句值绑定模式  高性能网站服务器部署指南:稳定运行与安全配置优化方案  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  微课制作网站有哪些,微课网怎么进?  如何零基础开发自助建站系统?完整教程解析  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  建站ABC备案流程中有哪些关键注意事项? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。