一.定义

  分部方法是指能够使编码人员跨多个代码文件实现类型的语法。简而言之。它可以让我们在一个文件中构建方法原型,而在另一个文件中实现

  使用分部方法和分部类需要使用关键词partial,且紧靠在class、struct、interface或void之前。

  每一个分部类型必须有完全相同的限定名。

二.注意事项

  1.分部方法只可以定义在分部类中

  2.分部方法返回值必须为void

  3.分部方法可以是静态的或实例级别的

  4.分部方法可以有参数(包含被this、ref或params修饰的参数,但不能有out修饰符)

三.分部类

  1.分部类就是将接口、结构、类或者方法的拆分到两个或多个文件中。而编译时会将所有分部编译在一起

  2.要求和分部方法类似:关键字partical,分部类之间可访问性,抽象、静态、都必须是相同的。

  3.各个分部类之间可以相互调用其参数,方法等

  4.各个分部类继承的接口和基类都是共同继承的

四.举例

  为了看到分部方法的定义,新建个类CarProperty,定义个方法Move,在方法内部有个分部方法Accelearte

static partial class CarProperty
{
public static bool Move(int s) {
Accelerate(s);
return true;
}
static partial void Accelerate(int s);
}

  此时在MainWindow下面添加代码,运行

 public MainWindow()
{
InitializeComponent();
CarProperty.Move();
MessageBox.Show("所有动作都已结束");
}

  结果是除了“所有动作已结束”之外没有任何其他动作。

  在其他分部或者没有分部为Accelerate()方法添加内容时,该方法在编译时是被忽略的,所以不会有任何动作

  下面再新建个类,作为分部类,实现Accelerate方法。

 static partial class CarProperty
{
static partial void Accelerate(int s)
{
MessageBox.Show(s.ToString()+"已加速!");
}
}

  注意分部类的关键词和访问级别都是相同,运行程序,可见Accelerate()方法已完全实现。

五.用途

  在使用过程中,需要应用的方法可以在分部类内写出具体实现内容。在不需要应用该方法时可以注释掉,然后运行程序。

六.示例代码

  

  

C# 分部类与分部方法的更多相关文章

  1. C#综合揭秘——分部类和分部方法

    在面向对象的“封装闭合性”开发原则中,一向提倡的是把独立的功能封装在一个类里面的!但从Visual Studio 2005开发,系统提供了一个分部类的开发方式一直受到争议,很多人认为把同一类的功能分布 ...

  2. C#中的分部类和分部方法:partial

    这篇文章主要介绍了C#中的分部类和分部方法,讲解了类的拆分和方法的定义的拆分,需要的朋友可以参考下可以将类或结构.接口或方法的定义拆分到两个或多个源文件中.每个源文件包含类型或方法定义的一部分,编译应 ...

  3. C#中分部类和分部方法的应用

    本篇文章介绍了,C#中分部类和分部方法的应用.需要的朋友参考下     分部类(Partial Class)在C#2.0引入,分部方法(Partial Method)在C#3.0引入,这两个语法特性都 ...

  4. C# partial修饰符_分部类_分部方法

    今天翻了翻书,发现自己还是遗留下不少基础性的东西,老实说,不管一些基础的东西用到不用到都很应该了解,因为基础毕竟学习量不是很大. 一.分部类 什么是部分类呢?简单来说就是将一个类型或方法拆分到两个或多 ...

  5. 分部类,分部方法 - 修饰符partial

    一.分部类 什么是部分类呢?简单来说就是将一个类型或方法拆分到两个或多个源文件中,每个源文件只包含类型定义的一部分. 当使用自动生成的源时,无须重新创建源文件便可将代码添加到类中.Visual Stu ...

  6. c# partial 分部类和分部方法

    一.partial 它是一个关键字修饰符.可以将类或结构.接口或方法的定义拆分到两个或更多个源文件中. 每个源文件包含类型或方法定义的一部分,编译应用程序时将把所有部分组合起来.修饰符不可用于委托或枚 ...

  7. [C#学习笔记]分部类和分部方法

    知识在于积累. 前言 好久没写博客了,因为在看<CLR via C#>的时候,竟然卡在了分部方法这一小节几天没下去.今天重新认真阅读,有些感悟,所以在此记录. 然后. 每天早晨第一句,&l ...

  8. 利用partial关键字声明分部类和分部方法

    一.分部类 1.分部类的定义:简单的说,分部类就是把一个类拆分成多个类,每个类文件只包含其中的一部分,类.结构.接口.方法都可以拆分,在定义的时候加上partial修饰符. 注意:分部类必须属于同一命 ...

  9. C# partial分部类和分部方法

    1.https://www.cnblogs.com/xcsn/p/7533238.html 它是一个关键字修饰符.可以将类或结构.接口或方法的定义拆分到两个或更多个源文件中. 每个源文件包含类型或方法 ...

随机推荐

  1. 浅谈对ECharts的使用

    上个月的项目,其中有一个模块用的是ECharts来实现的,分别用了折线图,环形图,还有漏斗图,这几个都算比较常见的了,尤其是折线图,环形图,用的最多的就是它们了.之前也没怎么接触过ECharts,实际 ...

  2. iscroll动态加载数据完美解决方案

    @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...

  3. 关于路径的使用,assi下载和

    直接给一个路径下载图片,这函数直接使用assi -(void)downloadWithURL:(NSString*)RequestUrl SavePath:(NSString*)savepath wi ...

  4. ios学习之路

    整合网络资源和自己的实际经验,表述于此. 1 Xcode详解 非常实用的xcode介绍,详情请见外部链接http://demo.netfoucs.com/shulianghan/article/det ...

  5. ctype.h / cctype 中的字符函数

    函数名称 返回值 isalnum() 字母或数字 isalpha() 字母 iscntrl() 控制字符 isdigit() 数字(1 ~ 9) isgraph() 除空格之外的打印字符 islowe ...

  6. 多媒体音频(audio)

    随着计算机技术的发展,特别是海量存储设备和大容量内存在PC机上的实现,对音频媒体进行数字化处理便成为可能.数字化处理的核心是对音频信息的采样,通过对采集到的样本进行加工,达成各种效果,这是音频媒体数字 ...

  7. HDU 5943 Kingdom of Obsession

    题意:n个人编号为[s+1, s+n],有n个座位编号为[1,n],编号为 i 的人只能坐到编号为它的约数的座位,问每个人是否都有位置坐. 题解:由于质数只能坐到1或者它本身的位置上,所以如果[n+1 ...

  8. MongoDB学习笔记二:创建、更新及删除文档

    插入并保存文档 对目标集使用insert方法插入一个文档: > db.foo.insert({"bar" : "baz"}) 这个操作会给文档增加一个&q ...

  9. Uncaught TypeError: _react2.default.findDOMNode is not a function

    react 查找某节点时报错 Uncaught TypeError: _react2.default.findDOMNode is not a function 代码: import React, { ...

  10. Python(文件、文件夹压缩处理模块,shelve持久化模块,xml处理模块、ConfigParser文档配置模块、hashlib加密模块,subprocess系统交互模块 log模块)

    OS模块 提供对操作系统进行调用的接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname")  改变当前脚本工作目 ...