部分类和部分方法

部分类是用partial声明的类,它允许我们把一个类分割成两个或多个类,当应用程序编译的完成的时候,多个部分类会结合成一个类,同时partial关键字也可以用于声明结构和接口。

那么下面问题来了,为什么要有部分类呢?

既然微软创造了这么一个东西,肯定有它存在的意义的

存在意义之一:

如果大家留意的话,会发现我们创建的webform程序或者windowform程序时,默认情况下会自动生成两个文件:webfrom1.aspx.cs和webform1.aspx.designer.cs,然后你会发现这两个类都用了关键字partial去声明了,没错,这就是部分类应用的所在,我认为它是为了code-behind技术而生的,因为声明了部分类,系统自动生成的代码和我们自己打的代码得以分离,已于代码的阅读和理解,提高开发效率。

存在意义之二:

处理大型项目时,把一个复杂的类可以分成多个部分类给多个程序员同时进行开发。不过,微软声明这是一个好处,除了上面说的例子之外,我没在其他地方见过的使用部分类,使用分部类的就让让多个部分类一起工作而已。。。
 
下面就是部分类在使用的时候注意的几点
一:如果声明了一个部分类,另一个类和部分类的类名相同的话编译是不通过的,必须两个都是部分类才能编译通过
二:多个部分类的访问修饰符要一致。
三:如果一个部分类为抽象或者密封类,那么所有的部分类都要声明为抽象或者密封类
四:如果部分类为派生类,那么其基类要相同
 
部分方法
在部分类和部分结构中可以声明partial的方法
当在一个部分类写一个部分方法时,可以只声明方法签名,然后在另一个部分类中写一个签名相同带有方法体的方法去实现它,也可以同时声明方法和方法体,但不可以再在另一个部分类中再次声明该方法。在一个部分类中不可以同时声明部分方法并且带有方法体。
部分方法的默认修饰符是private,所以不可以再用private去修饰它,而且部分方法的不可以有返回值,也就是说只能是void。

Part 61 to 63 Talking about partial class and partial method in C#的更多相关文章

  1. wcf中的使用全双工通信

    wcf中的契约通信默认是请求恢复的方式,当客户端发出请求后,一直到服务端回复时,才可以继续执行下面的代码. 除了使用请求应答方式的通信外,还可以使用全双工.下面给出例子: 1.添加一个wcf类库 2. ...

  2. C#:iterator 迭代器/partial class 分布类/泛型

    C#:iterator 迭代器/partial class 分布类/泛型 iterator 迭代器 写个最简单的迭代,(迭代一个字符串数组): 1.实现接口中的方法: 1 using System; ...

  3. 61. 从1到n,共有n个数字,每个数字只出现一次。从中随机拿走一个数字x,请给出最快的方法,找到这个数字。如果随机拿走k(k>=2)个数字呢?[find k missing numbers from 1 to n]

    [本文链接] http://www.cnblogs.com/hellogiser/p/find-k-missing-numbers-from-1-to-n.html  [题目] 从1到n,共有n个数字 ...

  4. MVC 之 Partial View 用法

          Partial View 顾名思义就是Html代码片段,因此可以用Partial View 把部分的Html或显示逻辑包装起来,方便多次使用. Partial View 需要放在Views ...

  5. [webgrid] – Ajax – (Reloading a Razor WebGrid after Ajax calls using a partial view)

    Reloading a Razor WebGrid after Ajax calls using a partial view If you are using Razor and MVC you p ...

  6. 分部类(partial)

    一般来说,一个类.结构或接口位于一个源文件中,但某些情况,比如大型项目.特殊部署时,可能需要把一个类.结构或接口放在几个文件中来处理.等到编译时,自动把它们合起来,这就得应用 C# 分部类了. C# ...

  7. 【转】Action 、 RenderAction 、 Partial 、 RenderPartial 区别

    1.Action . RenderAction Action 方法以字符串的形式返回子视图,可以直接被呈现.RenderAction方法在适当的地方呈现子视图. //One alternative ( ...

  8. partial class 说明

    C# 2.0 可以将类.结构或接口的定义拆分到两个或多个源文件中,在类声明前添加partial关键字即可. 例如:下面的PartialTest类 class PartialTest { string ...

  9. C# 类中隐藏基类方法和Partial

    今天对于.NET开发人员来说最开心的事情莫过于微软搞开源了,这觉得是给搞.NET开发的长脸.虽然我是一个初学者,这无疑给我极大的学习动力.Fighting!!! 当一个类从父类继承了一个成员时,也就继 ...

随机推荐

  1. 关于panic ,主协程的recover 是无法获取 子协程的panic 的

    一.子协程的panic,只能在子协程中处理 下面的代码,main 函数 无法获取panic package main import ( "fmt" "time" ...

  2. Visual Studio 6.0 在 Windows 10 下崩溃的一种解决方法

    Visual Studio 6.0 下载地址: https://winworldpc.com/product/microsoft-visual-stu/60 安装步骤: https://www.cod ...

  3. 使用 Vue 脚手架,为什么要学 webpack?

    先问大家一个很简单的问题: vue init webpack prjectName 与 vue create projectName 有什么区别呢? 它们是 Vue-cli 2 和 Vue-cli3 ...

  4. 【vue】获取异步加载后的数据

    异步请求的数据,对它做一些处理,需要怎么做呢?? axios 异步请求数据,得到返回的数据, 赋值给变量 info .如果要对 info 的数据做一些处理后再赋值给 hobby ,直接在 axios ...

  5. Java中的引用类型和使用场景

    作者:Grey 原文地址:Java中的引用类型和使用场景 Java中的引用类型有哪几种? Java中的引用类型分成强引用, 软引用, 弱引用, 虚引用. 强引用 没有引用指向这个对象,垃圾回收会回收 ...

  6. Java中JDK、JRE和JVM三者之间有什么区别和联系?Java基础!

    任何语言或软件都需要一个运行环境.正如人想生活在空气中,鱼想生活在水中一样,喜荫植物不能暴露在阳光下,任何物体个体的存在都离不开其所需的环境,编程语言也是一样的. 接下来就详细描述一下Java中JDK ...

  7. 土壤稳定性评估(ArcPy实现)

    一.背景 在进行区域土地开发时,需要对整个区域的土壤稳定性评估.应用GIS空间分析方法,能够快速有效地对影响土壤稳定性的因子进行制图并评估打分,通过构建评价体系,利用叠加分析,形成土壤稳定性专题图,以 ...

  8. YouTube爬虫下载

    最近在想用爬虫写youtube网站下载学习视频,找了好多资料也没有有个有用的. 真不容易找到几行代码,代码实现很简单,基于youtube_dl 来之不易,仅参考 from __future__ imp ...

  9. Pytorch 的安装

    GPU版本的安装 Windows平台 CPU 版本安装 conda install pytorch torchvision cpuonly -c puython Windows平台需安装VC,需要的联 ...

  10. Frida过反调试

    原理介绍:https://www.anquanke.com/post/id/85996 code setImmediate(function () { Java.perform(function () ...