【C#】函数方法、属性分文件编写

news/2024/7/8 1:23:22 标签: c#, 开发语言

1.思想

分文件编写是面向对象编程的重要思想,没有实际项目作为支撑很难理解该思想的精髓,换言之,一两个函数代码量因为太少无法体现分文件编写减少大量重复代码的优势。

2.项目结构介绍

在这里插入图片描述

整项目的名称叫AutoMetadata,是一个基于WinForm框架的项目,除了Utils之外,其余都是基于WinForm生成的。

现在在编写DEM_Do.cs和DOM_Do.cs两个窗口功能时,有200多行方法和属性石相同的,为了减少重复代码和调理更清晰,现在需要将功能方法抽取出来,放到Utils.cs当中去。

3.VS 2022中的操作流程

右击项目名AutoMetadata添加类,命名Utils.cs后确认,将所有的属性和方法都复制到类当中去。
在这里,我们创建该类只是为了统一管理、避免重复代码,并不做继承这样的操作,所以方便起见,全体属性、方法都改为public static,在类外不需要实例化即可调用。

4.在主文件中设置

在Utils类中设置好后,这时候在目标主文件中调用才行,因为是一个项目中,也就是一个namespace中,所以会被自动找寻到。
对于方法而言,可以用:Utils.方法,来调用。但是对于属性变量来说,使用次数过高,导致很不优雅
解决办法:

using static AutoMetadata.Utils;

这一套操作下来,就无感知的将方法和属性抽离出去了。


http://www.niftyadmin.cn/n/5535839.html

相关文章

git使用遇到的问题记录

文章目录 1. 记录以下问题*error: RPC failed; HTTP 307 curl 22 The requested URL returned error: 307* 1. 记录以下问题 error: RPC failed; HTTP 307 curl 22 The requested URL returned error: 307 第一种:clone的仓库地址或者账户密码发生改变;…

oracle如何判定数据库的时区并进行时间的时区转换

在Oracle数据库中,判断和设置时区以及进行时区的转换是很重要的功能。以下是一些基本的步骤和方法: 1. 判定数据库的时区 要查看Oracle数据库的时区,你可以查询DBTIMEZONE。例如: sql SELECT DBTIMEZONE FROM DUAL; 这将返回…

【操作系统期末速成】 EP01 | 学习笔记(基于五道口一只鸭)

文章目录 一、前言🚀🚀🚀二、正文:☀️☀️☀️1.1 考点一:操作系统的概率及特征 三、总结:🍓🍓🍓 一、前言🚀🚀🚀 ☀️ 回报不在行动…

ios CCNSDate.m

// // CCNSDate.h // CCFC // // Created by xichen on 11-12-17. // Copyright 2011年 ccteam. All rights reserved. //#import <Foundation/Foundation.h>interface NSDate(cc)// 获取系统时间(yyyy-MM-dd HH:mm:ss.SSS格式)(NSString *)getSystemTimeStr;// prin…

Kotlin中的关键字

Kotlin 中的关键字可分为几个大类&#xff1a; 声明/定义关键字&#xff1a; class&#xff1a;用于定义类interface&#xff1a;用于定义接口object&#xff1a;用于声明对象&#xff0c;Kotlin中实现单例模式的关键字fun&#xff1a;用于声明函数var&#xff1a;用于声明可变…

没有使用Redis相关的代码或依赖,但在 `application.yaml` 配置文件中配置了Redis参数,项目启动时是否会报错

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

深入学习 Kafka(3)- SpringBoot 整合 Kafka

1. 引入 jar <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId> </dependency>2. yml 配置 spring:kafka:bootstrap-servers: localhost:9092,localhost:9093,localhost:9094 # kafka 服…

Buuctf之不一样的flag(迷宫题)

首先&#xff0c;进行查壳无壳&#xff0c;32bit&#xff0c;丢进ida32中进行反编译进入main函数&#xff0c;对其进行分析&#xff0c;可以在一旁打上注释&#xff0c;这边最关键的一个点就是&#xff0c;需要联想到这是一个迷宫题&#xff0c;很小的迷宫题&#xff0c;迷宫就…