C# 分部类与分部方法
一.定义
分部方法是指能够使编码人员跨多个代码文件实现类型的语法。简而言之。它可以让我们在一个文件中构建方法原型,而在另一个文件中实现
使用分部方法和分部类需要使用关键词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# 分部类与分部方法的更多相关文章
- C#综合揭秘——分部类和分部方法
在面向对象的“封装闭合性”开发原则中,一向提倡的是把独立的功能封装在一个类里面的!但从Visual Studio 2005开发,系统提供了一个分部类的开发方式一直受到争议,很多人认为把同一类的功能分布 ...
- C#中的分部类和分部方法:partial
这篇文章主要介绍了C#中的分部类和分部方法,讲解了类的拆分和方法的定义的拆分,需要的朋友可以参考下可以将类或结构.接口或方法的定义拆分到两个或多个源文件中.每个源文件包含类型或方法定义的一部分,编译应 ...
- C#中分部类和分部方法的应用
本篇文章介绍了,C#中分部类和分部方法的应用.需要的朋友参考下 分部类(Partial Class)在C#2.0引入,分部方法(Partial Method)在C#3.0引入,这两个语法特性都 ...
- C# partial修饰符_分部类_分部方法
今天翻了翻书,发现自己还是遗留下不少基础性的东西,老实说,不管一些基础的东西用到不用到都很应该了解,因为基础毕竟学习量不是很大. 一.分部类 什么是部分类呢?简单来说就是将一个类型或方法拆分到两个或多 ...
- 分部类,分部方法 - 修饰符partial
一.分部类 什么是部分类呢?简单来说就是将一个类型或方法拆分到两个或多个源文件中,每个源文件只包含类型定义的一部分. 当使用自动生成的源时,无须重新创建源文件便可将代码添加到类中.Visual Stu ...
- c# partial 分部类和分部方法
一.partial 它是一个关键字修饰符.可以将类或结构.接口或方法的定义拆分到两个或更多个源文件中. 每个源文件包含类型或方法定义的一部分,编译应用程序时将把所有部分组合起来.修饰符不可用于委托或枚 ...
- [C#学习笔记]分部类和分部方法
知识在于积累. 前言 好久没写博客了,因为在看<CLR via C#>的时候,竟然卡在了分部方法这一小节几天没下去.今天重新认真阅读,有些感悟,所以在此记录. 然后. 每天早晨第一句,&l ...
- 利用partial关键字声明分部类和分部方法
一.分部类 1.分部类的定义:简单的说,分部类就是把一个类拆分成多个类,每个类文件只包含其中的一部分,类.结构.接口.方法都可以拆分,在定义的时候加上partial修饰符. 注意:分部类必须属于同一命 ...
- C# partial分部类和分部方法
1.https://www.cnblogs.com/xcsn/p/7533238.html 它是一个关键字修饰符.可以将类或结构.接口或方法的定义拆分到两个或更多个源文件中. 每个源文件包含类型或方法 ...
随机推荐
- Python 调用百度翻译API
由于实习公司这边做的是日文app,有时要看看用户反馈,对于我这种五十音图都没记住的人,表示百度翻译确实还可以.但不想每次都复制粘贴啊,google被墙也是挺蛋疼的事,所以用python结合baidu ...
- CSS3实现背景颜色渐变
CSS3渐变色生成网站:http://gradients.glrzad.com/ 本文参考:前端设计之用CSS3做线性渐变效果http://webskys.com/css3/10.html 在CSS3 ...
- Windows Service 开发,安装与调试
Visual Studio.net 2010 Windows Service 开发,安装与调试 本示例完成一个每隔一分钟向C:\log.txt文件写入一条记录为例,讲述一个Windows Servic ...
- Type Project has no default.properties file! Edit the project properties to set one.
Description Resource Path Location Type Project has no default.properties file! Edit the project pro ...
- linux shell mysql 数据库主从同步状态检查告警
需求: 1.监测数据库主从状态 2.获取数据库主要参数 3.可读取配置文件 4.部署位置自适应. 参考资料: http://blog.csdn.net/yf210yf/article/detail ...
- 二、Spring——AoP
AOP概述 AOP是OOP的有益补充,他为程序开发提供了一个崭新的思考角度,可以将重复性的横切逻辑抽取到统一的模块中,通过OOP的纵向抽象和AOP的横向抽取,程序才能真正解决复杂性代码问题. Spri ...
- 也谈Oracle异常: ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
场景: .Net程序调用Oracle方法 command.ExecuteNonQuery()执行存储过程;弹出如标题异常信息. 存储过程有4个输入参数,一个输出参数.一旦执行到给输出参数赋值的时候就报 ...
- JSP+servlet简单登录实例
一个简单的jsp+servlet实例,实现简单的登录 转载▼ http://blog.sina.com.cn/s/blog_5c5bc9070100z7wb.html 开发环境myeclips ...
- Linux下date命令,格式化输出,时间设置
date命令的帮助信息 [root@localhost source]# date --help用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] ...
- 113、ScrollView滑动到了最底部
ScrollView使用 http://www.cnblogs.com/androidsj/archive/2012/03/04/2379387.html 滚动到顶部判断:getScrollY() = ...