分部类(Partial Class)在C#2.0引入,分部方法(Partial Method)在C#3.0引入,这两个语法特性都具有相同的特性:将类(或)方法的代码分散在多个地方。

1.分部类的特性和应用

1.1分部类的定义

在定义一个类时,加上partial关键字,此类即成为分部类。

分部类允许将一个类的代码分散于一个以上的源代码文件中。

Person.cs代码如下

namespace PartialClassDemo1

{

public partial class Person

{

private int age;

Person(int age, string name)

{

this.age = age;

this.name = name;

}

public int Age

{

get

{

return age;

}

set

{

if (age < 0 || age > 120)

Console.WriteLine("年龄非法");

else

this.age = Age;

}

}

static void Main(string[] args)

{

Person p = new Person(19,"张三");

Console.WriteLine(p.Age);

Console.ReadKey();

}

}

}

Person2.cs代码如下

namespace PartialClassDemo1

{

public partial class Person

{

private string name;

}

}

使用分部类时,需要注意一下原则:

(1)所有的需要“合并”的类必须都用partial关键字声明。

(2)所有的需要“合并”的类必须位于同一个项目中。

2.为什么要引入分部类

分部类主要用于隔离来源不同,功能不同或者类型不同的源代码

另外分布特性还可以用具结构和接口

3.分布方法的特性和应用

分布方法允许将方法声明与方法实现代码分布于不同的文件中。与分部类类似,使用partial关键字定义分部方法。

partial void show(string str);

partial void show(string str)

{

Console.WriteLine(str+"再见");

}

分布方法不能具有访问修饰符或virtual、abstract、override new sealed 或者extern修饰符

partial修饰符只能出现在紧靠class struct interface void前面的位置

当分部方法没有实现代码时,C#编译器会在编译时删除其调用语句。

现在我们知道了分部方法有这种特性,但是它有什么用呢?

使用分部方法允许我们在一个普通方法中插入一个方法占位符,从而为编写可随时添加功能的方法提供支持。

分部方法不能有多个实现。

java 分部类_C#中分部类和分部方法的应用相关推荐

  1. IDEA中报错:java: -source 1.5 中不支持静态接口方法调用

    用到java的一些新特性的时候,必须是在新的java版本中才能体现出来,否则会报错. 例如使用java8的Stream流或者lambadas特性,就会报如下错误: **Error:(11, 35) j ...

  2. 分部类(partial class)和分部方法

    分部类 类的声明可以分割成几个分部类的声明. ●每个分部类的声明都含有一些类成员的声明. ●类的分部类声明可以在同一文件中也可以在不同文件中. ●每个局部声明必须被标为partial class,而不 ...

  3. java thread join()_Java中Thread.join()的使用方法

    概要 本文分三个部分对thread.join()进行分析: 1. join() 的示例和作用 2. join() 源码分析 3. 对网上其他分析 join() 的文章提出疑问 1. join() 的示 ...

  4. java 文件通配符_Java中泛型通配符的使用方法示例

    本文实例讲述了Java中泛型通配符的使用方法.分享给大家供大家参考,具体如下: 一 点睛 引入通配符可以在泛型实例化时更加灵活地控制,也可以在方法中控制方法的参数. 语法如下: 泛型类名 extend ...

  5. java 类型转换方法_Java中的实用类型转换的方法

    Java中的实用类型转换的方法 1,              类型转换 JAVA中常用数据类型转换函数 虽然都能在JAVA API中找到,整理一下做个备份. string->byte Byte ...

  6. 圆周率 java编程_Java编程中实现计算圆周率的方法

    想在JAVA编程中实现计算圆周率其实挺简单的,下面我们就来介绍2种Java编程中实现计算圆周率的方法,一起来了解下其中的详情吧. 方法一:割圆法 计算公式为: π≈3*2^n*y_n 其中,n代表割圆 ...

  7. java对象数组_Java中对象数组的使用方法详解

    本文实例讲述了Java中对象数组的使用方法.分享给大家供大家参考,具体如下: 一 点睛 对象可以用数组来存放,通过下面两个步骤来实现. 1 声明以类为数据类型的数组变量,并用new分配内存空间给数组. ...

  8. java 数组赋值_java中为数组赋值的方法

    java中为数组赋值的方法 发布时间:2020-06-25 14:31:36 来源:亿速云 阅读:184 作者:Leah 这期内容当中小编将会给大家带来有关java中为数组赋值的方法,文章内容丰富且以 ...

  9. java out of memory_java中OutOfMemory种类和解决方法

    1.永久区溢出 Exception in thread "main" java.lang.OutOfMemoryError: PermGen space 这部分用于存放Class和 ...

最新文章

  1. POPUP_TO_CONFIRM_LOSS_OF_DATA
  2. 第一章 关于python
  3. matlab中方差直方图,如何规范直方图在MATLAB?
  4. 永大服务器进去显示字母,永大电梯服务器使用说明
  5. 回溯算法(Backtracking Algorithm)之八皇后问题
  6. 小程序开发(12)-之分页封装
  7. linux rename
  8. switch语句(JS)
  9. 静态方和和实例方法的区别
  10. python吃显卡还是内存条_用游戏本打游戏是显卡重要还是内存重要?
  11. ODOO_posbox_打印出的小票(收据)如何修改?
  12. 全球软件公司排名2020
  13. 贫困的苏州(转自新浪)
  14. 网工解惑?什么是路由器、交换机与防火墙,他们的区别与联系是什么?
  15. 淘宝校招鸡蛋篮子算法题标准答案
  16. ghostscript9.26交叉编译
  17. 我的去 Google 化的安卓之旅
  18. Mybatis(一)Mybatis的基本使用
  19. DSP CCS12.00 芯片:TMS320F28335 结课设计 频率测量系统设计
  20. AI写剧本炸场戏剧节!DeepMind出品,马斯克看了直夸,网友看到接口悟了

热门文章

  1. 用python制作词频图_提取词频,制作词频云图
  2. 北信源移动存储介质使用管理系统 软件
  3. “AutoDraw”的智能画图软件 谷歌 --拯救不会画画的你:谷歌AutoDraw可智能修改简笔画
  4. MC服务器工业2mod没有显示,我的世界工业2服务器bug | 手游网游页游攻略大全
  5. 苹果iPhone销量74天突破百万部大关
  6. 6款经典图表软件推荐
  7. Kali Linux渗透测试小实践——Metasploit与后门木马
  8. C语言标准CRC-8校验函数
  9. Android 实验二 火星探测车拍摄照片展示应用实现
  10. 搭建美图(贴纸,涂鸦,文字,滤镜)