C#分部类的应用:记录学生信息

目录

一、分部类及其用途 

二、实例


        再发一个分部类的应用,巩固一下。

一、分部类及其用途 

        C#中的部分类也被称为分部类。

        C#中的部分类是一种将类的定义分成多个部分,每个部分都位于自己的文件中,然后在编译时合并在一起的机制。

        部分类的主要用途是将类的实现分散到多个文件中,从而使代码更易于管理和理解。这对于具有大量方法和属性的大型类特别有用,因为它可以使开发人员更轻松地导航和处理代码。

        部分类还可用于将类的实现与它的接口或公共API分离。例如,您可以将类的公共方法定义在一个部分中,而将私有方法和实现细节定义在另一个部分中。这可以帮助使类的公共API更清晰和易于使用,同时隐藏实现细节。

二、实例

        本实例主要使用分部类来分别记录学生的相关信息,然后在调用时,通过创建的分部类的对象分别为学生的相关属性赋值,并将赋予的值显示在对应的文本框中。

// 使用分部类记录学生信息
namespace _125
{
    public partial class Form1 : Form
    {
        private GroupBox? groupBox1;
        private TextBox? textBox8;
        private TextBox? textBox7;
        private TextBox? textBox6;
        private TextBox? textBox5;
        private TextBox? textBox4;
        private TextBox? textBox3;
        private TextBox? textBox2;
        private TextBox? textBox1;
        private Label? label8;
        private Label? label7;
        private Label? label6;
        private Label? label5;
        private Label? label4;
        private Label? label3;
        private Label? label2;
        private Label? label1;
        private Button? button1;

        public Form1()
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;
            Load += Form1_Load;
        }

        private void Form1_Load(object? sender, EventArgs e)
        {
            // 
            // label1
            // 
            label1 = new Label
            {
                AutoSize = true,
                Location = new Point(12, 24),
                Name = "label1",
                Size = new Size(68, 17),
                TabIndex = 0,
                Text = "学生编号:"
            };
            // 
            // label2
            // 
            label2 = new Label
            {
                AutoSize = true,
                Location = new Point(12, 54),
                Name = "label2",
                Size = new Size(68, 17),
                TabIndex = 1,
                Text = "学生年龄:"
            };
            // 
            // label3
            // 
            label3 = new Label
            {
                AutoSize = true,
                Location = new Point(12, 84),
                Name = "label3",
                Size = new Size(68, 17),
                TabIndex = 2,
                Text = "出生年月:"
            };
            // 
            // label4
            // 
            label4 = new Label
            {
                AutoSize = true,
                Location = new Point(12, 114),
                Name = "label4",
                Size = new Size(68, 17),
                TabIndex = 3,
                Text = "班      级:"
            };
            // 
            // label5
            // 
            label5 = new Label
            {
                AutoSize = true,
                Location = new Point(188, 24),
                Name = "label5",
                Size = new Size(68, 17),
                TabIndex = 4,
                Text = "学生姓名:"
            };
            // 
            // label6
            // 

            label6 = new Label
            {
                AutoSize = true,
                Location = new Point(188, 54),
                Name = "label6",
                Size = new Size(68, 17),
                TabIndex = 5,
                Text = "学生性别:"
            };
            // 
            // label7
            // 
            label7 = new Label
            {
                AutoSize = true,
                Location = new Point(188, 84),
                Name = "label7",
                Size = new Size(68, 17),
                TabIndex = 6,
                Text = "年      级:"
            };
            // 
            // label8
            // 
            label8 = new Label
            {
                AutoSize = true,
                Location = new Point(188, 114),
                Name = "label8",
                Size = new Size(68, 17),
                TabIndex = 7,
                Text = "班  主 任:"
            };
            // 
            // textBox1
            // 
            textBox1 = new TextBox
            {
                Location = new Point(75, 18),
                Name = "textBox1",
                Size = new Size(100, 23),
                TabIndex = 8
            };
            // 
            // textBox2
            // 
            textBox2 = new TextBox
            {
                Location = new Point(75, 48),
                Name = "textBox2",
                Size = new Size(100, 23),
                TabIndex = 9
            };
            // 
            // textBox3
            // 
            textBox3 = new TextBox
            {
                Location = new Point(75, 78),
                Name = "textBox3",
                Size = new Size(100, 23),
                TabIndex = 10
            };
            // 
            // textBox4
            // 
            textBox4 = new TextBox
            {
                Location = new Point(75, 108),
                Name = "textBox4",
                Size = new Size(100, 23),
                TabIndex = 11
            };
            // 
            // textBox5
            // 
            textBox5 = new TextBox
            {
                Location = new Point(248, 18),
                Name = "textBox5",
                Size = new Size(100, 23),
                TabIndex = 12
            };
            // 
            // textBox6
            // 
            textBox6 = new TextBox
            {
                Location = new Point(248, 48),
                Name = "textBox6",
                Size = new Size(100, 23),
                TabIndex = 13
            };
            // 
            // textBox7
            // 
            textBox7 = new TextBox
            {
                Location = new Point(248, 78),
                Name = "textBox7",
                Size = new Size(100, 23),
                TabIndex = 14
            };
            // 
            // textBox8
            // 
            textBox8 = new TextBox
            {
                Location = new Point(248, 108),
                Name = "textBox8",
                Size = new Size(100, 23),
                TabIndex = 15
            };
            // 
            // groupBox1
            // 
            groupBox1 = new GroupBox
            {
                Location = new Point(12, 12),
                Name = "groupBox1",
                Size = new Size(365, 142),
                TabIndex = 0,
                TabStop = false,
                Text = "学生信息"
            };
            groupBox1.Controls.Add(textBox8);
            groupBox1.Controls.Add(textBox7);
            groupBox1.Controls.Add(textBox6);
            groupBox1.Controls.Add(textBox5);
            groupBox1.Controls.Add(textBox4);
            groupBox1.Controls.Add(textBox3);
            groupBox1.Controls.Add(textBox2);
            groupBox1.Controls.Add(textBox1);
            groupBox1.Controls.Add(label8);
            groupBox1.Controls.Add(label7);
            groupBox1.Controls.Add(label6);
            groupBox1.Controls.Add(label5);
            groupBox1.Controls.Add(label4);
            groupBox1.Controls.Add(label3);
            groupBox1.Controls.Add(label2);
            groupBox1.Controls.Add(label1);
            groupBox1.SuspendLayout();

            // 
            // button1
            // 
            button1 = new Button
            {
                Location = new Point(302, 160),
                Name = "button1",
                Size = new Size(75, 23),
                TabIndex = 16,
                Text = "读取",
                UseVisualStyleBackColor = true
            };
            button1.Click += Button1_Click;
            // 
            // Form1
            // 
            AutoScaleDimensions = new SizeF(7F, 17F);
            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new Size(389, 186);
            Controls.Add(button1);
            Controls.Add(groupBox1);
            Name = "Form1";
            Text = "使用分部类记录学生信息";
            groupBox1.ResumeLayout(false);
            groupBox1.PerformLayout();

            LoadInfo();//加载学生信息
        }
        /// <summary>
        /// 为分部类中的各个属性赋值
        /// </summary>
        static void LoadInfo()
        {
            CommInfo.ID = "0001";
            CommInfo.Name = "刘同学";
            CommInfo.Sex = false;
            CommInfo.Age = 25;
            CommInfo.Birthday = Convert.ToDateTime("1985-04-25");
            CommInfo.Grade = 3;
            CommInfo.Class = 5;
            CommInfo.Director = "王老师";
        }
        /// <summary>
        /// 通过访问分部类中的属性显示学生信息
        /// </summary>
        private void Button1_Click(object? sender, EventArgs e)
        {
            textBox1!.Text = CommInfo.ID!.ToString();
            textBox2!.Text = CommInfo.Age!.ToString();
            textBox3!.Text = CommInfo.Birthday!.ToString();
            textBox4!.Text = CommInfo.Class!.ToString();
            textBox5!.Text = CommInfo.Name!.ToString();
            textBox6!.Text = CommInfo.Sex.ToString();
            textBox7!.Text = CommInfo.Grade!.ToString();
            textBox8!.Text = CommInfo.Director!.ToString();
        }

        partial class CommInfo
        {
            /// <summary>
            /// 编号
            /// </summary>
            public static object? ID;
            /// <summary>
            /// 姓名
            /// </summary>
            public static object? Name;
            /// <summary>
            /// 性别
            /// </summary>
            static object? sex;
            public static object Sex
            {
                get
                {
                    sex = sex switch
                    {
                        true => "男",
                        _ => "女",
                    };
                    return sex;
                }
                set { sex = value; }
            }
            /// <summary>
            /// 年龄
            /// </summary>
            public static object? Age;
            /// <summary>
            /// 出生年月
            /// </summary>
            public static object? Birthday;
        }

        partial class CommInfo
        {
            /// <summary>
            /// 年级
            /// </summary>
            public static object? Grade;
            /// <summary>
            /// 班级
            /// </summary>
            public static object? Class;
            /// <summary>
            /// 班主任
            /// </summary>
            public static object? Director;
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/399009.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

超平面介绍

超平面公式 (1) 超平面是指n维线性空间中维度为n-1的子空间。它可以把线性空间分割成不相交的两部分。比如二维空间中&#xff0c;一条直线是一维的&#xff0c;它把平面分成了两部分&#xff1b;三维空间中&#xff0c;一个平面是二维的&#xff0c;它把空间分成了两部分。(2…

AJAX总结

AJAX 1、什么是Ajax ajax 全名 async javascript and XML(异步JavaScript和XML) 是一种用于创建快速动态网页的技术 是前后台交互的能⼒ 也就是我们客户端给服务端发送消息的⼯具&#xff0c;以及接受响应的⼯具 AJAX 不是新的编程语言&#xff0c;而是一种使用现有标准的…

支持Intel Core i5/i7的高性能三防加固平板|亿道三防onerugged

大家好&#xff01;今天我要向大家推荐一款真正强悍的三防加固平板电脑&#xff0c;它支持Intel Core i5/i7高性能处理器&#xff0c;给你带来无与伦比的高性能体验。是不是心动了呢&#xff1f;那就让我为你揭开这款亿道三防onerugged系列的产品的神秘面纱吧&#xff01; 首先…

缀点成线

1232. 缀点成线 给定一个数组 coordinates &#xff0c;其中 coordinates[i] [x, y] &#xff0c; [x, y] 表示横坐标为 x、纵坐标为 y 的点。请你来判断&#xff0c;这些点是否在该坐标系中属于同一条直线上。 示例 1&#xff1a; 输入&#xff1a;coordinates [[1,2],[2,3…

豆粕贸易商的二次点价策略:如何在价格波动中获得收益补贴?

贸易商如何通过衍生品工具实现二次点价&#xff1f; 贸易商交易惯例&#xff1a;以豆粕贸易商和油厂签订的基差采购合同为例&#xff0c;同理可以类推至其他板块上下游企业。 按照交易惯例&#xff0c;贸易商通常会持有基差合同&#xff0c;但并不会先点价。当价格从高点到低…

CSS3中盒子居中

&#xff08;1&#xff09;利用定位&#xff08;子绝父相&#xff09;、margin-left、和margin-top实现 &#xff08;2&#xff09;利用定位&#xff08;子绝父相&#xff09;、transfrom属性实现 &#xff08;3&#xff09;利用flex布局实现盒子居中

【前端】前端三要素之BOM

写在前面&#xff1a;本文仅包含BOM内容&#xff0c;JavaScript传送门在这里&#xff0c;DOM传送门在这里。 本文内容是假期中刷的黑马Pink老师视频&#xff08;十分感谢Pink老师&#xff09;&#xff0c;原文保存在个人的GitLab中&#xff0c;如果需要写的网页内容信息等可以评…

【PostgreSQL实现psql连接时候提示用户的密码有效时间】

如下内容使用session_exec插件结合自定函数实现。类似于触发器的原理。 功能需要严格在测试环境测试后&#xff0c;才可在正式环境使用。没有相关要求&#xff0c;还是建议直接查询pg_roles/pg_authid/pg_user&#xff1b; 一、判断是否需要修改用户密码和有效期的检查SQL 首…

解锁服务器外联:TinyProxy一键搭建指南

引言 在服务器需要访问外网的情况下&#xff0c;由于网络安全等原因&#xff0c;许多生产服务器限制了对外网的访问。本文介绍如何通过在一台能够访问外网的服务器上部署TinyProxy来实现代理&#xff0c;使得其他服务器可以通过该代理访问外网。 安装 TinyProxy是一个轻量级…

CTFHub技能树web之文件上传(一)

一.前置知识 文件上传漏洞&#xff1a;文件上传功能是许多Web应用程序的常见功能之一&#xff0c;但在实施不当的情况下&#xff0c;可能会导致安全漏洞。文件上传漏洞的出现可能会使攻击者能够上传恶意文件&#xff0c;执行远程代码&#xff0c;绕过访问控制等。 文件类型验证…

代码随想录第二十一天 701.二叉搜索树中的插入操作 108.将有序数组转换为二叉搜索树

701.二叉搜索树中的插入操作 题目描述 给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和要插入树中的值 value &#xff0c;将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 &#xff0c;新值和原始二叉搜索树中的任意节点值都不同。 注意&a…

Tulsimer MB-1518——超纯水抛光树脂的技术应用

超纯水的制备和稳定性一直是相关领域极为重视的&#xff0c;那么超纯水中常会用到的抛光树脂技术&#xff0c;进口和国产对比起来究竟谁更甚一筹呢&#xff1f;接下来为大家分享的技术就是超纯水制备中常会用到的进口品牌&#xff1a;美国Tulsimer杜笙树脂中抛光树脂MB-106UP的…

设计师简历写作指南:教你如何获得高薪offer!

在找工作时&#xff0c;我们如何努力争取更多的主动权&#xff1f;在询问了许多大工厂的人力资源部后&#xff0c;即时设计帮助你总结了答案&#xff1a;请仔细设计你的简历&#xff01;一个好的设计师的简历应该怎么做&#xff1f;虽然简历只有几张纸&#xff0c;但它是你个人…

MyBatis Plus:自定义typeHandler类型处理器

目录 引言&#xff1a;关于TypeHandler PostGreSQL&#xff1a;JSON数据类型 PostGreSQL数据库驱动&#xff1a;PGobject类 TypeHandler类型处理器 自定义类型处理器 类型处理器实现&#xff1a;PGJsonTypeHandler 注册类型处理器 引言&#xff1a;关于TypeHandler MyBa…

【快速搞定Webpack5】基本配置及开发模式介绍(二)

在开始使用webpack之前么&#xff0c;我们需要对Webpack的配置有一定的认识。 一、5大核心概念 1. enty&#xff08;入口&#xff09; 指示webpack从哪个文件开始打包 2. output&#xff08;输出&#xff09; 指示webpack打包完的文件输出到哪里去&#xff0c;如何命名等 …

Java 面向对象进阶 07 继承中成员变量,成员方法的访问特点(黑马)

一、继承中成员变量的访问特点&#xff1a; 打印结果为&#xff1a;zishow 这种情况打印出来的结果是Zi 这种情况打印的是Fu 这种情况就会报错 对于重名的情况&#xff0c;没有关键字&#xff0c;那么就是就近原则&#xff0c;打印出的是ziShow&#xff1b; this.name 指的是Zi…

java导出动态下拉框excel模板

1.原始模板 2.导出模板,下拉框为数据库中得到动态数据 public void downloadTemplate(HttpServletResponse response) throws IOException {// 所有部门List<String, String> departments expertManageMapper.selectAllDepartment();//所有职位List<String, String&g…

js设计模式:访问者模式

作用: 将操作方法封装在一个访问者对象中,而不是封装在每个被访问对象当中。 访问者对象可以通过调用被访问者的接口,用来操作被访问者。 示例: class App{accept(user){console.log(user,使用者)console.log(this,工具)user.use(this)}}class User{use(app){}}class Weixin…

Spring相关注解

文章目录 Spring注解Bean1、Bean 概述2、Bean 的声明1&#xff09;搭配 Configuration2&#xff09;搭配 Component3&#xff09;搭配 ApplicationContext 3、Bean 的注入1&#xff09;NO&#xff08;主要关注这个&#xff09;【1】同一配置类【2】不同配置类 2&#xff09;BY_…

使用 Docker 安装 Elasticsearch 8.4.3

使用 Docker 安装 Elasticsearch 8.4.3 一. 拉取 Elasticsearch Docker 镜像二. 使用Docker启动单节点集群三. 修改密码 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神的孩子都在歌唱 从 Elastic…