C#中形态各异的class

本篇是基本知识,老码农请无视!!!


普通
静态
抽象
密封
分部
修饰关键字

static
abstract
sealed
partial
构造函数调用时机
实例化(new)时
内部任意静态成员调用时
子类实例化(new)时实例化(new)时
实例化(new)时
包含成员

字段

属性

方法

事件

索引器

运算符重载

自定义类型

静态字段

静态属性

静态方法

静态事件

自定义类型

普通类所有的成员

抽象属性

抽象方法

抽象事件

抽象索引器

与普通类所有的成员与普通类所有的成员
特征
可实例化(new),可继承只有一份,直接用类名调用必须子类实例化
不能有子类实质就是把一个类分成多个部分来写,类名相同
    #region 普通类/// <summary>/// 普通类/// </summary>public class CommonClass{/// <summary>/// 自定义枚举类型/// </summary>enum MyEnum{enum1,enum2}/// <summary>/// 自定义委托类型/// </summary>public delegate void MyDeleaget();/// <summary>/// 构造函数/// </summary>public CommonClass(){_arr = new double[10];}/// <summary>/// 字段/// </summary>private string _myField;/// <summary>/// 属性/// </summary>public string MyProperty { get; set; }/// <summary>/// 方法/// </summary>public void MyMethod(){ }/// <summary>/// 事件/// </summary>public event MyDeleaget MyEvent;/// <summary>/// 运算符重载/// </summary>/// <param name="a"></param>/// <param name="b"></param>/// <returns></returns>public static CommonClass operator +(CommonClass a, CommonClass b){return new CommonClass() { MyProperty = a.MyProperty + b.MyProperty };}/// <summary>/// 索引器集合/// </summary>double[] _arr;/// <summary>/// 索引器/// </summary>/// <param name="index"></param>/// <returns></returns>public double this[int index]{get{return _arr[index];}set{_arr[index] = value;}}}#endregion#region 静态类public static class StaticClass{/// <summary>/// 静态构造函数/// </summary>static StaticClass(){Console.WriteLine("静态类构造函数");}/// <summary>/// 静态方法/// </summary>public static void StaticMethod(){Console.WriteLine("静态类中静态方法");}/// <summary>/// 静态属性/// </summary>public static string StaticProperty { get; set; }/// <summary>/// 自定义委托类型/// </summary>public delegate void MyDeleaget();/// <summary>/// 字段/// </summary>private static string _myField;/// <summary>/// 事件/// </summary>public static event MyDeleaget MyEvent;}#endregion#region 抽像类/// <summary>/// 抽像类/// </summary>public abstract class AbstractClass{public AbstractClass(){Console.WriteLine("抽象类构造函数");}/// <summary>/// 自定义委托类型/// </summary>public delegate void MyDeleaget();/// <summary>/// 属性/// </summary>public string MyProperty { get; set; }/// <summary>/// 方法/// </summary>public abstract void MyMethod();/// <summary>/// 事件/// </summary>public abstract event MyDeleaget MyEvent;/// <summary>/// 索引器/// </summary>/// <param name="index"></param>/// <returns></returns>public abstract double this[int index] { get; set; }}#endregion#region 密封类/// <summary>/// 密封类/// </summary>public sealed class SealedClass{/// <summary>/// 构造函数/// </summary>public SealedClass(){Console.WriteLine("密封类构造函数");}/// <summary>/// 自定义委托类型/// </summary>public delegate void MyDeleaget();/// <summary>/// 字段/// </summary>private string _myField;/// <summary>/// 属性/// </summary>public string MyProperty { get; set; }/// <summary>/// 方法/// </summary>public void MyMethod(){ }/// <summary>/// 事件/// </summary>public event MyDeleaget MyEvent;/// <summary>/// 运算符重载/// </summary>/// <param name="a"></param>/// <param name="b"></param>/// <returns></returns>public static SealedClass operator +(SealedClass a, SealedClass b){return new SealedClass() { MyProperty = a.MyProperty + b.MyProperty };}/// <summary>/// 索引器集合/// </summary>double[] _arr;/// <summary>/// 索引器/// </summary>/// <param name="index"></param>/// <returns></returns>public double this[int index]{get{return _arr[index];}set{_arr[index] = value;}}}#endregion#region 分部类/// <summary>/// 分部类1/// </summary>public partial class PartialClass{public PartialClass(){Console.WriteLine("分部类构造函数");}/// <summary>/// 自定义委托类型/// </summary>public delegate void MyDeleaget();/// <summary>/// 字段/// </summary>private string _myField;/// <summary>/// 属性/// </summary>public string MyProperty { get; set; }/// <summary>/// 方法/// </summary>public void MyMethod(){ }/// <summary>/// 运算符重载/// </summary>/// <param name="a"></param>/// <param name="b"></param>/// <returns></returns>public static PartialClass operator +(PartialClass a, PartialClass b){return new PartialClass() { MyProperty = a.MyProperty + b.MyProperty };}/// <summary>/// 索引器集合/// </summary>double[] _arr;}/// <summary>/// 分部类1/// </summary>public partial class PartialClass{/// <summary>/// 事件/// </summary>public event MyDeleaget MyEvent;/// <summary>/// 索引器/// </summary>/// <param name="index"></param>/// <returns></returns>public double this[int index]{get{return _arr[index];}set{_arr[index] = value;}}}#endregion

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 笛卡尔积_Mysql内连接、左连接会出现笛卡尔积的理解

先简单解释一下笛卡尔积。 现在,我们有两个集合A和B。 A = {0,1} B = {2,3,4} 集合 AB 和 BA的结果集就可以分别表示为以下这种形式: AB = {(0,2),(1,2),(0,3),(1,3),(0,4),(1,4)}; BA = {(2,0),(2,1),(3,0),(3,1),(4,0),(4,1)}; 以上AB和BA的结…

开放数字世界中的复杂图数据挑战 —— 以教育与开源场景为例

摘要&#xff1a;开源开放的数字世界开始成为时代的潮流&#xff0c;云原生、数据中台、智能PRA开始成为数字世界中的新一代中流砥柱。随着第四范式的普遍流行&#xff0c;各个行业中的数字化转型都会带了海量的具有无限关联的复杂图数据。本报告将以教育与开源两个场景为例&am…

mysql anyvalue函数_Mysql 的ANY_VALUE()函数和 ONLY_FULL_GROUP_BY 模式

Mysql 的ANY_VALUE()函数和 ONLY_FULL_GROUP_BY 模式1、ONLY_FULL_GROUP_BY 引发在mysql 5.7版本以上进行一些ORDER BY 或者 GROUP BY 时&#xff0c;会出现如下错误[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated colu…

在IIS中部署SPA应用,多么痛的领悟!

目前公司的Web项目是SPA应用&#xff0c;采用前后端分离开发&#xff0c;所以有时也会倒腾Vue框架。“前后端应用最终以容器形态、在k8s中部署, 为此我搭建了基于Gitlab flow的Devops流程。在Devops实践中&#xff0c;容器部署成为良方和事实标准。但是在开发和自测阶段&#x…

mysql闪回工具下载_MySQL闪回工具之myflash 和 binlog2sql

实践利用binlog2sql查询两个binlog之间的SQL&#xff1a;必须是两个binlog日志&#xff0c;指定start-file和stop-filebinlog2sql -h127.0.0.1 -P3309 -udba -pxxxxxx -dsakila -t employee --start-filemysql-bin.000112 --stop-filemysql-bin.000113 > /tmp/db.sql利用bin…

MySQL大表优化方案

背景阿里云RDS FOR MySQL&#xff08;MySQL5.7版本&#xff09;数据库业务表每月新增数据量超过千万,随着数据量持续增加,我们业务出现大表慢查询,在业务高峰期主业务表的慢查询需要几十秒严重影响业务方案概述一、数据库设计及索引优化MySQL数据库本身高度灵活&#xff0c;造成…

使用Azure静态Web应用部署Blazor Webassembly应用

上一次演示了如何使用Azure静态web应用部署VUE前端项目&#xff08;使用Azure静态web应用全自动部署VUE站点&#xff09;。我们知道静态web应用支持VUE&#xff0c;react&#xff0c;angular等项目的部署。除了支持这些常见前端框架&#xff0c;静态web应用同样支持微软推出的最…

mysql无法创建新用户_如何mysql禁止创建新用户

展开全部使用户不具有e69da5e6ba9062616964757a686964616f31333337376264Create User权限或者deny Create User权限下面是权限列表mysql> show privileges \G*************************** 1. row ***************************Privilege: AlterContext: TablesComment: To al…

TIOBE 11 月榜单:Python 挤掉 Java,Java的下跌趋势确立了?

喜欢就关注我们吧&#xff01;TIOBE 公布了 2020 年 11 月的编程语言排行榜。Python 已成功跃居榜单第二名&#xff0c;本月排名率为 12.12%&#xff1b;Java 被挤到第三位&#xff0c;排名率降至 11.68%。自有 TIOBE 榜单以来&#xff0c;C 和 Java 之前一直占据着前两名的位置…

mysql mysqladmin 介绍_Mysql—mysqladmin 命令详解

mysqladmin是一个执行管理操作的客户端程序。它可以用来检查服务器的配置和当前状态、创建和删除数据库等。mysqladmin工具的使用格式&#xff1a;mysqladmin [option] command [command option] command ......1.查看mysql的安装目录&#xff0c;进入mysql命令行输入&#xff…

一路踩坑,被迫聊聊 C# 代码调试技巧和远程调试

一&#xff1a;背景 1. 讲故事每次项目预交付的时候&#xff0c;总会遇到各种奇葩的坑&#xff0c;我觉得有必要梳理一下以及如何快速解决的&#xff0c;让后来人避避坑&#xff0c;这篇就聊聊自己的所闻所遇&#xff1a;我去&#xff0c;本地环境代码跑的哧溜&#xff0c;上了…

mysql decimal型转化为float_5分钟搞懂MySQL数据类型之数值型DECIMAL类型

速成指南5分钟搞懂MySQL数据类型之数值型--DECIMAL类型DECIMAL类型的语法&#xff1a;DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]。其中M指定的是数字的总位数(精度&#xff0c;最大65&#xff0c;默认值10)&#xff0c;D指定的是小数点后数字的位数(最大30&#xff0c;并且不能大…

mysql 变量 数据类型_浅谈mysql(二)数据类型

//我。。。我才是不是傲娇呢//如有问题还请多多指教。上回我们说到我们如何使用MySQL&#xff0c;关键是要看它的用途。用途衍生语句。之后文章的思路&#xff0c;也是如此&#xff0c;从用途出发&#xff0c;然后再到语句。那么&#xff0c;我们先问几个问题&#xff0c;我们用…

Java面试必问JVM调优,那.NET5呢?

JVM调优已经是普通Java工程师的必修课了&#xff0c;而.NET开源快5年了&#xff0c;CLR层面的优化到目前都不多见&#xff0c;甚至常用的性能调优工具都还没玩过。.NET5马上来了&#xff0c;要想在互联网大潮中逆袭&#xff0c;光靠平台是不够的&#xff0c;开发者也得给力才行…

win10新建管理员账户_【经验篇001】Win10专业版如何开启超级管理员账户

关注我们前言介绍我们在使用Win10系统的时候&#xff0c;有时候安装一些特殊的专业类软件&#xff0c;需要系统赋予软件特殊的权限&#xff0c;那就需要使用超级管理员帐户&#xff0c;Win10系统安装时候&#xff0c;Administrator账户默认是禁用的&#xff0c;所以我们就需要开…

SQL Server in Docker - 还原数据库

SQL Server in Docker 还原数据库上一回演示了如果在Docker环境下安装SQL Server(使用Docker运行SQL Server)&#xff0c;这次我们来演示下如何还原一个数据库备份文件到数据库实例上。使用winscp上传bak文件到linux服务器上一回我们启动docker容器的时候使用了-v参数挂账了本地…

Xamarin 从零开始部署 iOS 上的 Walterlv.CloudKeyboard 应用

本文将告诉大家如何从零开始在 iOS 上部署 Walterlv.CloudKeyboard 应用。这个 Walterlv.CloudKeyboard 应用是一个云输入法应用&#xff0c;在 GitHub 完全开源&#xff0c;采用 Xamarin 开发&#xff0c;用途是让手机接收电脑端的打字输入的输入法。因为我没有在 iOS 上找到任…

c 命令导出数据到mysql_MySQL命令行导出数据库

MySQL命令行导出数据库&#xff1a;1&#xff0c;进入MySQL目录下的bin文件夹&#xff1a;cd MySQL中到bin文件夹的目录如我输入的命令行&#xff1a;cd C:\Program Files\MySQL\MySQL Server 4.1\bin(或者直接将windows的环境变量path中添加该目录)2&#xff0c;导出数据库&am…

mysql权限create细化_mysql权限精细化分配-阿里云开发者社区

mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为&#xff1a;grant 权限 on 数据库对象 to 用户一、grant 普通数据用户&#xff0c;查询、插入、更新、删除 数据库中所有表数据的权利grant select on testdb…

Win10 Terminal + WSL 2 安装配置指南,精致开发体验

自从 Windows Terminal 正式发布后就再没有用过 Windows 系统自带的终端了。主要是 Terminal 简洁且灵活&#xff0c;更重要的是支持特殊字体&#xff0c;通过一些简单的配置可以使得终端看起来更舒适养眼。自从 Win 10 有了 Linux 子系统&#xff08;WSL&#xff09;&#xff…