当前位置: 首页 > news >正文

乌鲁木齐本地网站设计公司企业网站

乌鲁木齐本地网站,设计公司企业网站,嘉兴中小企业网站建设,o2o电商是什么意思分部方法那些方法原型或定义都是在分部类的声明中指定, 但是没有在该分部类的相同声明中提供方法的具体实现方法. 一般情况下, 在相同分部类中的其它任何声明中都没有对这个方法的任何实现. 如果在相同分部类的任何其它声明中都美誉这个方法的实现, 则编译器将不会为这个方法的…

        分部方法那些方法原型或定义都是在分部类的声明中指定, 但是没有在该分部类的相同声明中提供方法的具体实现方法. 一般情况下, 在相同分部类中的其它任何声明中都没有对这个方法的任何实现.

        如果在相同分部类的任何其它声明中都美誉这个方法的实现, 则编译器将不会为这个方法的声明, 对该方法的调用, 或者为传递到该方法参数的赋值而生成IL代码. 就好像这个方法从来都没有存在过一样.

分部方法的示例

using System;namespace LinqTest
{class Program{partial class PartialClass{partial void MissionA(int missionCount);int missionCount = 0;public void SmallMission(){Console.WriteLine("Mark before MissionA");MissionA(missionCount++);Console.WriteLine("MissionA done!");//查看此时missionCount的值Console.WriteLine("missionCount: " + missionCount);}}static void Main(string[] args){PartialClass partialClass = new PartialClass();partialClass.SmallMission();}}
}

        程序结果显示missionCount的值为0, 这是因为这个分部方法没有具体实现的方法体, 编译器编译时没有生成像这个方法参数赋值的IL. 查看程序的IL代码也证实如此, 没有发现有关于MissionA方法的IL代码.

        如果改一下, 将那个partial方法实现一下, 只需在代码中加上:

public partial class PartialClass
{partial void MissionA(int missionCount){Console.WriteLine("missionCount in MissionA's Value: "+ missionCount);}
}

        编译一下, 查看IL代码, 看到了MissionA的IL代码:

.method private hidebysig instance void  MissionA(int32 missionCount) cil managed
{// Code size       22 (0x16).maxstack  8IL_0000:  ldstr      "missionCount in MissionA's Value: "IL_0005:  ldarg.1IL_0006:  box        [mscorlib]System.Int32IL_000b:  call       string [mscorlib]System.String::Concat(object,object)IL_0010:  call       void [mscorlib]System.Console::WriteLine(string)IL_0015:  ret
} // end of method PartialClass::MissionA

        运行之后可以发现, missionCount这个时候打印出来, 就是1了.

为什么要用分部方法

        跟分部方法比较类似的就是类和类中方法的继承, 还有虚拟(abstract)方法. 分部方法存在的目的在于, 编码者有时希望在代码文件中留下一下可以未来有机会再写的方法函数, 以后可以让其它编码者编写这些分部方法的代码, 就算是没有人实现了这些分部方法, 它也不会对性能产生丝毫的影响.

使用分部方法的规则

1. 分部方法只能在分部类中定义和实现

2. 分部方法必须制定partial修改程序

3. 分部方法是私有的, 但是不能制定private修改程序, 否者会产生编译错误

4. 分部方法必须返回void类型

5. 分部方法可以是未实现的方法

6. 分部方法可以是静态的

7. 分部方法可以有参数

转载于:https://www.cnblogs.com/technology/archive/2011/02/21/1960128.html

http://www.lbrq.cn/news/2384407.html

相关文章:

  • 韩国原生ip站群服务器百度推广app下载官方
  • 做星座网站公司要做seo
  • 建立外贸网站多少钱fifa最新排名出炉
  • 百度网站介绍显示图片百度搜索关键词排名优化技术
  • 苏州 网站设计 知名什么平台可以发广告引流
  • 郑州快速网站优化公司哪家好成品网站源码
  • 西安印象网站建设百度账号中心官网
  • 深圳企业网站制作报价南京seo域名
  • 自己做网站运营西安seo顾问
  • wordpress导航站主题网站设计制作在哪里找
  • 做电视网站需要多大的服务器制作网页需要多少钱
  • 使用动易模版制作网站seo标签优化
  • 公司网站 优帮云营销策略ppt模板
  • 网站建设用什么语言好湖南网站seo推广
  • 做网站要学些什么条件深圳seo秘籍
  • 社区论坛网站建设企业网络推广计划书
  • 花都网站开发网站seo搜索引擎优化案例
  • 动态网站中如何做项目栏北京网站推广营销策划
  • 怎么做五个页面网站网站编辑seo
  • 佛山网站建设设计一个新产品的营销方案
  • 中国万网注册网站有什么推广产品的渠道
  • 专门做生鲜的网站重庆百度seo整站优化
  • 涟源市建设局网站免费网站生成器
  • 想弄个网站怎么出售友情链接
  • 网站开发工作协议书范本广告推广免费平台
  • 沧浪seo网站优化软件有哪些平台可以免费发广告
  • 杭州雄飞网站建设网络公司东莞谷歌推广公司
  • 网站建设前台后台设计外贸推广是做什么的
  • godaddy网站建设教程优秀软文范例100字
  • 建设六马路小学 网站千锋教育官方网
  • 域名WHOIS信息查询免费API使用指南
  • 6 种无线传输照片从安卓到 Mac 的方法
  • 用 React-Three-Fiber 实现雪花下落与堆积效果:从零开始的 3D 雪景模拟
  • 如何将 iPhone 备份到笔记本电脑?
  • [yotroy.cool] 记一次 spring boot 项目宝塔面板部署踩坑
  • 【Servo】伺服驱动器扫频功能方案文档