C#_基础_部分类partial(十八)

在同一个命名空间下,只能定义一个相同类名的类,例如在一个命名空间下只能有一个 Person类。

部分类:理解为每个部分只是组成类的一部分,其实还是一个类,所有的成员都是共享的,也就是说在一个部分类中定义的变量,

    在另一个部分类中可以使用,那么在一个部分类中定义的变量,在其他部分类中不能重复定义,可以理解为把一个类中的成员,分    开放到不同的类中。

通过案例演示:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace 部分类
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13
14             //
15
16
17         }
18     }
19
20
21     //在一个 命名空间下只能定义一个person类,可以写Person类部分类
22     //partial : 部分类公共组成一个类,所有的成员共有,实际就是一个类
23     public partial class Person
24     {
25         private string name;
26
27         //void Test()  //会报错,在另一个部分类中有了
28         //{
29
30         //}
31     }
32
33     public partial class Person
34     {
35         //所有的成员都是共享的,包括私有成员
36        // private string name;
37
38         void Test()
39         {
40             //其他部分类中的成员,可以直接拿来使用
41             Console.WriteLine(name);
42         }
43     }
44
45     public partial class Person
46     {
47        //可以定义多个部分类
48     }
49
50
51 }

原文地址:https://www.cnblogs.com/CeasarH/p/9185783.html

时间: 2024-09-30 18:36:43

C#_基础_部分类partial(十八)的相关文章

46. C# -- 部分方法和部分类(partial)

C# 2.0 可以将类.结构或接口的定义拆分到两个或多个源文件中,在类声明前添加partial关键字即可. 代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Test {     class Program {         static void Main(string[] args)

部分类--partial

partial关键字的用法:把partial放在class, struct, interface关键字的前面,以用来把类,结构,接口放在多个文件中.    // Program 位于两个不同的源文件BigClassPart1.cs和BigClassPart2.cs    // BigClassPart1.cs    partial class Program    {        public void MethodTwo()        { }    } // BigClassPart2.

C++_基础_运算符重载2

内容: (1)只能用成员形式重载的运算符 (2)new/delete操作符的重载 (3)封装和继承的初识 (4)继承的特性 (5)子类及其函数的特性 (6)多重继承和虚继承 1.只能用成员形式重载的运算符(1)[] 下标操作符 (2)() 函数操作符(3)* -> 间接操作符 2.new/delete操作符的重载 注意: 如果需要在调用构造函数之前做一些初始化工作/在调用析构函数之后做一些善后工作,则可以通过new/delete运算符重载的函数来实现 3.封装和继承的初识3.1 概念(1)封装

C++_基础_继承、多态

内容: (1)子类中的拷贝构造和拷贝赋值 (2)多继承和虚继承 (3)多态的初识 (4)虚析构的特性和使用 (5)多态的底层实现 (6)纯虚函数.抽象类的概念 1.子类中的拷贝构造和拷贝赋值 子类中的拷贝构造和拷贝赋值可能也需要显式的指定父类子对象的拷贝构造和拷贝赋值的方式 2.多继承和虚继承2.1 格式: class 子类名 : 继承方式 父类名1,继承方式 父类名2,... { //子类中的属性和行为 }; 如: 员工类 / \销售员工类 管理者类 \ / 销售管理类 叫做:钻石继承 2.2

C#_基础_数组(九)

概念:一次性存储多个相同类型的变量,区别结构一次性声明多个不同类型的变量 1.动态初始化数组 //数组类型[] 数组名字 = new 数组类型[数组长度]; int[] nums = new int[10]; //声明一个 int类型, 长度10的 数组 数组中默认是0 给数组赋值: 1 nums[5] = 10; 2 nums[3] = 12; 2.静态初始化 1 int[] num2 = { 1, 2, 3 }; 2 //下面两种可以,但是比第二中更复杂,一般用第一和第二中, 3//第三种传

C#_基础_结构Struct(八)

一般情况下,不建议使用结构. 结构中可以包含多种不同类型的字段,方法 定义一个结构: 1 public struct Person 2 { 3 public string _name;//命名规范字段前前加下划线 4 public int _age; 5 public char _gender; 6 public QQState _state; //枚举类型 7 } 结构声明:调用 1 //声明结构变量,实质上和枚举一样,int 都是变量, 2 Person zhangsan; 3 zhangs

C#_基础_文件夹操作类Directory(十七)

1 //using System.IO; 2 ///Directory:操作文件夹/目录的类,Directory是静态类 3 ///创建文件夹 4 Directory.CreateDirectory(@"D:\a"); 5 //注释:如果D盘中已经有了a文件夹,不会重新创建,不会覆盖 6 7 //删除文件夹 8 // FALSE :只能删除空文件夹,如果不是空文件夹会报错 9 Directory.Delete(@"D:\a",false); 10 //TTRUE:删

动态规划_基础_任意子区间序列求和问题_滑动窗口解法_多种思路_分治思想演变

题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大. 输入描述 第一行是一个正整数 N ( 1 ≤ N ≤ 200000 ) ,表示了序列的长度. 接下来的 N 行包含 N 个绝对值不大于 10000 的整数 A [ i ] ,描述了这段序列. 输出描述 仅包括 1 个整数,为最大的子段和是多少,子段的最小长度为 1 . 样例输入 72-43-12-43 样例输出 4 Hint Origin: SidneyEdit by stdKonjac in 2020 解题思路: 关于求子区间求

动态规划_基础_最长公共子序列_多种方法_递归/dp

D: 魔法少女资格面试 题目描述 众所周知,魔法少女是一个低危高薪职业.随着近年来报考魔法少女的孩子们越来越多,魔法少女行业已经出现饱和现象!为了缓和魔法少女界的就业压力,魔法少女考核员丁丁妹决定增加魔法少女资质考核的难度.然而,即使如此,通过资质考核的魔法少女们数量仍然过多,因此,丁丁妹决心增加一轮面试,从而淘汰掉更多的预备魔法少女.具体而言,她打算对所有面试者询问这样一个问题:给两个长度为 n 的全排列,它们的最长公共子序列长度是多少?不幸的是,由于丁丁妹没有好好上过学,她自己也不知道答案是