C#
文章平均质量分 83
C# 基础
Cool2Feel
横向学习,纵向思考
展开
-
将对象转换为 JSON 并将 JSON 转换为 C# 对象
将对象转换为 JSON 并将 JSON 转换为 C# 对象原创 2022-07-16 10:12:21 · 920 阅读 · 0 评论 -
如何使用 C# 将 System.Byte 转换为 System.io.stream 对象
如何使用 C# 将 System.Byte 转换为 System.io.stream 对象原创 2022-07-16 10:07:51 · 1473 阅读 · 0 评论 -
.Net进阶 —— 泛型generic使用和原理 封装泛型缓存
泛型generic使用和原理 封装泛型缓存一.泛型的由来泛型基本概念:.NET 泛型是一个很强大的新特性,它为每一种对象生成一份单独的代码(也就是所谓的“实例化”),这一份量身顶做的代码具有很高的效率,是强类型的,不需要运行期多态的支持和负担,有了泛型,就不再需要Object类来参与实现一些通用类或方法了.泛型的作用: 在CLR(common language runtime)1.0中,当要创建一个灵活的类或方法,但该类或方法在编译期问不知道使用什么类,就必须以System.Object类为基础进.原创 2021-10-08 19:52:03 · 692 阅读 · 0 评论 -
关于 WPF 你应该知道的 2000 件事(六)
WPF 开发人员需要知道的一切51 – 资源在 WPF 和 Silverlight 中,术语资源通常是指要在多个地方使用的 .NET 对象或值。资源是在 Silverlight 和 WPF 中重用的基本机制。资源存储在资源字典中——由它们的键(通常是字符串值键)索引的资源对象的集合。资源通常表示对象,例如:样式、模板、画笔和颜色。它们还可以表示故事板、变换或 3D 矩阵。52 – 定义和使用应用程序范围的资源WPF 资源可以与主 Application 对象相关联,如果您希望它们在整个应用程.原创 2021-09-16 16:34:33 · 152 阅读 · 0 评论 -
关于 WPF 你应该知道的 2000 件事(五)
WPF 开发人员需要知道的一切41 – 启动和关闭时的窗口事件在应用程序启动时,为主窗口触发(按顺序)的 Window 事件是:初始化 - 正在创建主窗口IsVisibleChanged – IsVisible 属性设置为 trueSizeChanged – 大小属性设置为窗口的大小LayoutUpdated - 窗口布局更改SourceInitialized – 窗口附加到 Win32 窗口句柄Activated - 窗口变为前景窗口PreviewGotKeyboardFocus .原创 2021-09-16 11:34:04 · 611 阅读 · 0 评论 -
关于 WPF 你应该知道的 2000 件事(四)
WPF 开发人员需要知道的一切31 – UIElement 类UIElement 类继承自 Visual 并添加了对基本用户交互行为的支持,包括:布局行为亲子关系测量/安排通过响应用户输入来自键盘/鼠标等设备的输入事件命令绑定管理焦点引发(并响应)路由事件事件冒泡(向上)或隧道(向下)元素树32 – 框架元素(FrameworkElement)FrameworkElement 类继承自 UIElement,反过来又是 WPF 中所有控件的父类。Frame.原创 2021-09-15 16:42:04 · 227 阅读 · 0 评论 -
WPF 常用代码段
【WPF 基础】WPF 常用代码段WPF 常用代码段1. 获取指定目录下文件、文件夹2. string.Format 格式化输出3. 日期时间4. 线程5. 计时器6. 保存配置文件 Serializable 序列化和反序列化7. 屏幕截图8. TextBlock 多行文本9. 控件相对位置10. 屏幕尺寸11. 显示图像12. 程序暂停13. 试错14. 一维数组保存成文本15. 文件路径16. 渐变色17. Button 复杂背景18. 后台设置元素绑定19. 资源样式动画20. VS2019 C.原创 2021-08-24 16:07:06 · 744 阅读 · 0 评论 -
关于 WPF 你应该知道的 2000 件事(三)
WPF 开发人员需要知道的一切21 – WPF 控件示例在 WPF 中,控件是可以放置在窗口或页面上的可视组件。 下面仅举几个常见 WPF 控件的示例,重点介绍用户与之交互的主要控件。Button – 单击按钮执行操作CheckBoxRadioButton and GroupBox – 从一组中选择一个选项Label – 基本标签Tooltip – 当用户将鼠标悬停在控件上时,提供有关控件的更多信息Expander – 用户单击扩展器以查看子控件,然后再次单击以隐藏它们Co.原创 2021-08-05 20:07:41 · 377 阅读 · 0 评论 -
关于 WPF 你应该知道的 2000 件事(二)
关于WPF你应该知道的 2000 件事;WPF 开发人员需要知道的一切11 – (命令)CommandsWPF 提供对命令的支持,其中命令是独立于启动任务的 GUI 元素执行特定任务的对象。命令的主要目的是将多个控件共有的代码移到中央位置,而不是单个控件的事件处理程序。这允许多个控件调用相同的命令逻辑。您可以通过将命令对象绑定到代码来创建命令。WPF 包括一个预先创建的命令库,用于复制、剪切和粘贴等常见任务。这些命令对象只是占位符——您仍然需要编写为每个命令执行实际工作的代码。下面是通过内置命.原创 2021-08-05 19:29:08 · 236 阅读 · 0 评论 -
关于 WPF 你应该知道的 2000 件事(一)
WPF 开发人员需要知道的一切1 – 什么是 WPF?WPF(Windows Presentation Foundation)是一个 .NET 类库,允许构建在 Windows 上运行的图形丰富的客户端程序。 WPF 应用程序既可以作为单独的窗口程序运行,也可以在 Web 浏览器中运行。WPF 使用基于 3D 矢量的图形呈现图形元素,与屏幕分辨率无关。 WPF 使用 DirectX 来呈现图形元素,这使它能够利用硬件加速。如果硬件加速不可用,WPF 将使用软件而不是硬件呈现元素。 WPF 取代 W.原创 2021-07-27 20:52:08 · 361 阅读 · 0 评论 -
ASP.NET Core 中的中介器设计模式
在面向对象编程 (OOP) 中,程序通常由许多类组成。开发人员在这些类之间分发业务逻辑和应用程序功能。我们拥有的类越多,这些类之间需要的通信就越多,有时这会增加应用程序的复杂性。程序变得更难阅读和维护,因为任何更改都可能影响其他几个依赖类中的代码。为了解决这个问题,我们通常使用一种称为中介者设计模式的设计模式。在这篇文章中,我将通过一些实际示例深入介绍中介模式。我还将向您展示如何自己或使用非常著名的 MediatR 库来实现 Mediator 模式。下载:Download Source Code什..翻译 2021-07-23 16:54:13 · 196 阅读 · 0 评论 -
ASP.NET Core Razor 页面开发人员指南
如果您一直在使用 ASP.NET MVC 开发 Web 应用程序,那么您会同意我的观点,要创建一个简单的页面,您必须创建一个控制器类、一个操作方法、一个模型类、一个 Razor 视图以及可选的自定义路由和所有这些对于一个简单的页面来说似乎太过仪式了。更糟糕的是,您通常会在 Controllers 文件夹中创建一个 Controller 类,在 Models 文件夹中创建一个 Model 对象,在 Views 文件夹中创建一个 Razor 视图,并且您需要在 Visual Studio 解决方案资源管理器..翻译 2021-07-23 09:39:13 · 583 阅读 · 0 评论 -
如何在 ASP.NET Core 中使用第三方 Web API
在现代 Web 应用程序中,调用第三方 Web API 来增强应用程序的功能是很常见的。有数以千计的免费和商业 API 可用,如果您知道如何在 ASP.NET Core 应用程序中使用这些 API,您就可以构建非常强大的业务应用程序。在这篇文章中,我将解释如何在 ASP.NET Core 应用程序中使用第三方 Web API。下载:Download Source Code...翻译 2021-07-22 20:42:10 · 1949 阅读 · 0 评论 -
在 ASP.NET Core 中使用包和库
如果您想开发一个现代 Web 应用程序,您很快就会意识到您无法自己编写所有内容。您将依赖一些第三方客户端和服务器端库和组件来提高开发速度。如今,开发人员可以使用许多在线代码存储库和资源,下载和跟踪所有第三方包可能是一项痛苦的任务。幸运的是,开发人员现在有许多不同的工具和扩展可供他们使用,这可以使这项任务变得更加容易。在本教程中,我将演示如何使用 Node Package Manager (npm)、Library Manager (LibMan) 和 Nuget 等工具来下载和管理 ASP.NET Co..翻译 2021-07-22 20:11:13 · 538 阅读 · 0 评论 -
ASP.NET Core 中间件介绍
ASP.NET Core 引入了许多新概念,开发人员需要学习这些新概念来开发基于 Web 的现代应用程序。其中一个概念是“中间件”,它允许开发人员在 Web 请求和响应处理期间运行一系列组件(又名中间件)。在本教程中,我将概述 ASP.NET Core 中间件。我们还将学习如何使用 ASP.NET Core 中提供的一些内置中间件构建请求/响应管道。ASP.NET Core 中间件什么是中间件?配置中间件管道中间件处理顺序使用 ASP.NET Core 内置中间件总结概括什么是中间件?中间件是处..翻译 2021-07-22 19:03:37 · 1788 阅读 · 0 评论 -
在 ASP.NET Core 3.1 中创建视图组件
ASP.NET Core 是一个跨平台、高性能、开源的框架,用于构建现代 Web、云和基于 Internet 的应用程序。我们还可以在 Windows、macOS 和 Linux 上使用我们最喜欢的开发工具开发 Web API、移动应用程序和客户端站点单页应用程序。 Microsoft 在 ASP.NET Core 1.0 到 3.1 版本中引入了许多新功能,例如 Razor Pages、Blazor 等。在本文中,我将向您介绍 ASP.NET Core 新引入的一项功能,称为 View Compone..翻译 2021-07-22 14:39:14 · 429 阅读 · 0 评论 -
ASP.NET Core 配置分步指南
如果您不熟悉 ASP.NET Core 开发,您会注意到的前几件事之一是旧的 web.config 或 app.config 文件在 ASP.NET Core 项目中不再可用。 ASP.NET Core 中的配置是使用一个或多个配置提供程序执行的。有配置提供程序可以从几乎任何地方读取配置,例如文件,例如JSON、INI 或 XML、环境变量、Azure 密钥保管库、命令行参数等以及更多来源。本教程是分步指南,向您展示如何在各种文件(如 JSON、INI 或 XML)中配置应用程序设置,以及如何从应用程序..翻译 2021-07-22 11:12:16 · 334 阅读 · 0 评论 -
ASP.NET Core 依赖注入分步指南
面向对象编程是关于类和对象的,为了构建复杂的软件,我们必须创建大量的对象来完成工作。如果您不遵循任何设计模式来控制这些对象的创建和生命周期,那么您很容易陷入一团糟,其中软件中的一个小更改或一个新需求可能会迫使您在整个应用程序中更改大量代码.有许多软件设计模式和原则可以帮助我们编写更灵活、易于管理和易于测试的软件。在本教程中,我将尝试介绍一种称为依赖注入的设计模式,它也是 ASP.NET Core 中的一等公民。我将尝试在一些真实示例的帮助下解释所有内容,以便您可以轻松掌握概念并自信地开始在您的项目中使用..翻译 2021-07-22 09:41:51 · 563 阅读 · 1 评论 -
在 Blazor 服务器应用程序中实施 CRUD 操作
Blazor 是一个免费的开源单页应用程序 (SPA) 开发框架,它使开发人员能够使用 HTML、CSS 和 C# 而不是 JavaScript 来构建交互式 Web 应用程序。我们可以使用这个流行的框架构建 Blazor WebAssembly 或 Blazor 服务器应用程序,这两种托管模型各有优缺点。 Blazor 服务器应用在服务器上运行,在那里它们可以享受 .NET 运行时的完全支持并使用任何 .NET 库。我已经写了几篇关于 Blazor 的教程,很多人让我写一篇关于使用 Entity Fr..翻译 2021-07-22 09:08:45 · 835 阅读 · 0 评论 -
Blazor 组件库的开发应用指南
Blazor 是关于组件的。我们创建不同类型的组件并在整个项目中重复使用它们。没有人想重新发明轮子,因此创建一个可重用 Blazor 组件库始终是一个好主意,这些组件不仅可以在多个项目之间共享,还可以作为 NuGet 包与其他人共享。 Blazor 允许我们在名为 Razor 类库的新项目模板的帮助下创建此类组件库,在这篇文章中,我将向您展示如何创建此类库,并不仅共享组件,还共享静态内容,如图像、样式表、等等。下载:Download Source CodeBlazor 组件库的开发在 Razor ..翻译 2021-07-21 17:11:45 · 597 阅读 · 0 评论 -
在 Blazor WebAssembly 应用程序中发出 HTTP 请求
在之前的文章在 Blazor 服务器应用程序中发出 HTTP 请求中,介绍了在 Blazor 服务器应用程序中发出 HTTP 请求的不同技术,您可以访问所有 .NET 库和组件。如果您正在创建 Blazor WebAssembly 应用程序,那么您的代码在浏览器沙箱中的客户端上运行,并且您的选择在某种程度上受到限制。在本教程中,我将向您展示如何从 Blazor WebAssembly 应用程序发出 HTTP 请求。Blazor WebAssembly 应用程序中发出 HTTP 请求Blazor We..翻译 2021-07-21 16:49:39 · 1477 阅读 · 1 评论 -
在 Blazor 服务器应用程序中发出 HTTP 请求
Blazor 服务器应用程序使用标准的 ASP.NET Core 应用程序,它们在服务器上执行 .NET 代码。我们可以按照在 ASP.NET Core Web 应用程序中使用的相同方式访问这些应用程序中的任何 .NET 库或服务器端功能。其中一项功能是使用 HTTP 客户端实例向第三方 Web API 发出 HTTP 请求。在本教程中,我将向您展示创建 HTTP 客户端实例的不同方法。我还将向您展示如何使用第三方 API 在 Blazor 服务器应用程序中获取和显示数据。下载:Download S..翻译 2021-07-21 15:48:50 · 717 阅读 · 0 评论 -
Blazor 模板化组件的开发使用指南
在我之前的文章 Blazor 组件初学者指南中,我介绍了组件参数,并向您展示了如何将数据作为参数传递给 Blazor 组件以自定义其功能。在这篇文章中,我将更进一步,向您展示如何将一个或多个 UI 模板作为参数传递到称为模板化组件的不同类型的 Blazor 组件中。下载:Download Source CodeBlazor 模板化组件概述Blazor 模板化组件是一种接受一个或多个 UI 模板作为参数的组件。这有助于组件的可重用性,因为您只需要创建一次模板化组件,然后使用该组件的每个页面都可以提..翻译 2021-07-21 15:24:16 · 489 阅读 · 0 评论 -
Blazor 路由和导航的开发使用指南
检查传入的请求 URL 并将它们路由到适当的视图或页面是每个单页应用程序 (SPA) 框架的基本功能。 Blazor Server 和 WebAssembly 应用程序还支持使用一些内置组件和服务进行路由。 在本教程中,我将介绍在 Blazor 应用中实现路由所需的所有内容。Blazor 应用中的路由配置在开始为不同的 Blazor 组件/页面创建路由之前,我们需要了解 Blazor 服务器应用程序如何集成到 ASP.NET Core 端点路由中。 Blazor 服务器应用程序通过 SignalR..翻译 2021-07-21 14:52:56 · 1391 阅读 · 0 评论 -
使用C#中的CultureInfo类实现全球化
CultureInfo 类在 .NET 应用程序中提供特定于语言的信息。此信息包括语言、子语言、国家或地区、日期名称、月份名称、日历等。它还提供数字、货币、日期或字符串的文化特定转换。在下面的教程中,我将向您展示如何从 .NET Framework 中可用的不同文化中检索此信息。要使用 CultureInfo 类,您需要导入 System.Globalization 命名空间,其中包含以下代码中使用的许多类,例如 RegionInfo、DateTimeFormatInfo 或 NumberForma..原创 2021-07-21 10:37:28 · 3184 阅读 · 0 评论 -
将 C# 委托与事件一起使用
.NET 委托是可以在运行时引用内存中的静态方法和实例方法的对象,并且可以在您的程序中调用这些方法。在本教程中,我将向您展示如何在 C# 中创建和使用委托。为了解释委托及其在现实世界程序中的使用,我正在创建一个 BankAccount 类,我将在其中使用 C# 委托关键字声明一个委托。public class BankAccount{ int amount = 0; // Declare Delegate Type Object public delegate void B.原创 2021-07-21 09:51:51 · 271 阅读 · 0 评论 -
C#中的单例设计模式
单例模式是软件工程中最著名和最简单的设计模式之一。简单来说,单例是一个类,它只允许创建自身的单个实例。有多种不同的方法可以在 C# 中实现这种模式。在本文中,将向您展示如何用最少的代码实现单例设计模式。public class LoginForm { private static bool instance_flag = false; // Private Constructor to block direct object creation private Log..原创 2021-07-21 08:56:24 · 189 阅读 · 0 评论 -
Blazor 事件处理开发人员指南
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/a30c91f6ef1ae9b2b3359d897f5bb1fb.png如果您正在开发交互式 Web 应用程序,根据不同的应用程序事件和用户操作动态更新用户界面是非常常见的做法。这些操作会引发事件,作为开发人员,我们的工作是使用一些事件处理技术来处理这些事件。 Blazor 内置支持处理多个事件,例如 onclick、onchange 和 onmousemove 等,它还为开发人员提供了多种处理这些翻译 2021-07-20 20:44:30 · 438 阅读 · 0 评论 -
通过WPF 模拟制作便携小空调
今天看到群里一个小页面挺有意思的,就是这个:https://ac.yunyoujun.cn/于是想着用wpf也模仿一下嘿嘿,为了方便,也顾不上什么代码结构了。。。看看效果吧:代码不多,只有一个窗口,下面就直接看看代码:窗体xaml:<Window x:Class="AirCond.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="ht转载 2021-05-14 09:13:05 · 351 阅读 · 0 评论 -
Entity Framework Code First学习日记(2)
大家已经知道了Code First怎样使用默认的约定进行各种数据库的映射。但是我们的类既然是根据domain driven design进行设计的,那么所有的类必然都是根据domain进行设计和开发的。我们不可能要求这些类都去遵守Code First默认的约定,如果我们开发这些类的时候都时刻记得Code First的默认规则,那么Code First也就失去了实际的意义了。综上所述,要使用Code First就必须考虑怎样改变Code First的数据库映射规则。Code First有两种配置数据库映射的转载 2020-09-28 11:07:15 · 89 阅读 · 0 评论 -
Entity Framework Code First 学习日记(1)
为什么要使用Code First:近年来,随着domain driven design的推广,以前那种先建好数据库,然后再编写代码的方式受到了越来越多的质疑。因为使用这种开发方式很难适应领域内业务逻辑的改变,它需要当每次领域发生改变的时候,先改变数据库,然后再改变业务逻辑和实体的代码,开发周期比较长,而且不利于单元测试。所以随着domain driven design一同推广的还有Persistence Ignorance 原则和POCO(Plain Old CLR Object). Persistenc转载 2020-09-28 08:52:29 · 109 阅读 · 0 评论 -
普通人投资的唯一正确方式就是定投
为什么说普通人投资的唯一正确方式就是定投;先直接说结论:在交易市场这个神奇的地方,普通人唯一靠谱的投资方式只有定投 —— 切记!由于 BOX 这个地球上第一个区块链 ETF 刚刚成立(2019 年 7 月 3 日,所谓 “币圈双十一” 的 “七三韭菜节”)其数据还不够久,所以无法拿来当作示例去解释定投这个普通人唯一靠谱的投资方式。龙门基金的前身是比特基金,由李笑来于 2013 年创立,2018 年清算,部分投资人决定在五年之后继续走下去,于是,就创建了龙门基金这个 ETF 产品。龙门基金现在并不对转载 2020-08-15 16:36:27 · 442 阅读 · 0 评论 -
.net core多线程:Thread
学习多线程的第一步,就是学习 Thread。Thread 类可以创建和控制线程,设置其优先级并获取其状态。这一篇将开始学习线程的创建和生命周期。官方文档 Thread 类详细的属性和方法:https://docs.microsoft.com/zh-cn/dotnet/api/system.threading.thread?view=netcore-3.1#properties1,获取当前线程信息Thread.CurrentThread 是一个 静态的 Thread 类,Thread 的Curre.原创 2020-08-11 19:41:36 · 5032 阅读 · 0 评论 -
.NETCore :正则表达式
本节内容为正则表达式的使用简介有的时候,你是否有过这种需求:判断一个Ip地址、邮箱、密码规则是否合法。如果让你使用if一类的传统方法进行处理,你肯定会被逼疯的。而对于绝大多数的编程语言而言,都有一个字符串处理利器————正则表达式。它可以轻松的让字符串和规则匹配上。有点这样的意思,从前你是判断字符串,去遍历它,而有了正则表达式,你是在书写一个通用性质的规则,让字符串与规则进行匹配。正则表达式本质上就是一串蕴含了一些特殊字符规则的字符串,因此我们书写正则表达式其实是在书写一个字符串,只是它代表了一定.原创 2020-08-06 16:16:56 · 1366 阅读 · 0 评论 -
.NETCore : Linq简介
本节内容为Linq及其拓展方法、Linq中表达式树的使用简介语言集成查询(LINQ)是一系列直接将查询功能集成到C#语言的技术统称。数据查询历来都表示为简单的字符串,没有编译时类型检查或IntelliSense支持。此外,需要针对每种类型的数据源了解不同的查询语言:SQL数据库、XML文档、各种Web服务等。借助LINQ,查询成为了最高级的语言构造,就像类、方法和事件一样。可以使用语言关键字和熟悉的运算符针对强类型化对象集合编写查询。LINQ系列技术提供了针对对象(LINQtoObjects)、关.原创 2020-08-06 11:26:50 · 799 阅读 · 0 评论 -
.NET Core List,ArrayList和Dictionary
本节内容为List,ArrayList,和Dictionary简介在此前的文章中我们学习了数组的使用,但是数组有一个很大的问题就是存储空间不足,我们通常的解决方法就是定义一个绝对够用的数组,这通常很大,但是这样就造成了内存的损失。我们总是希望有一个根据需求动态更变的数组进行存储。这一篇我们会详细的讲解List。同时,有时候我们希望数组不单单的存储我们的数据。例如我希望有那么一些数据:某人的成绩单如下:语文 80分数学 90分英语 87分对于这些数据,我们使用数组并不能很好的反馈这些.原创 2020-08-06 10:15:15 · 848 阅读 · 0 评论 -
.NET Core 装箱与拆箱
本节内容为装箱与拆箱简介装箱和拆箱是一个相对抽象的概念。你可以想象一下一堆满载货物的大卡车,他是由许多工人将货物集中堆放装入的,对于我们而言在没有打开货箱的时候,我们可以知道这是一辆运货的卡车,里面有着许多货物,但是具体货物是什么,我们只有打开后才能知道,并且对于货箱而言,它可以存放任意体积小于自身的货物,也就是说货箱具有通配性。事实上在C#中也是这样,装箱就是将具有实际数据的变量(值类型)打包成一个引用类型(Object),而我们货物到货箱的变化,就是我们本节所需要谈论的装箱与拆箱。利用装箱和拆.原创 2020-08-05 14:58:03 · 233 阅读 · 0 评论 -
.NET Core 泛型、逆变与协变
本节内容为泛型为什么需要泛型泛型是一个非常有趣的东西,他的出现对于减少代码复用率有了很大的帮助。比如说遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每个数据类型,因为方法的参数类型不同。有没有一种办法,在方法中传入通用的数据类型,这样不就可以合并代码了吗?泛型简介在我们的C#中,使用泛型对允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编.原创 2020-08-05 14:30:19 · 696 阅读 · 0 评论 -
.NET Core 类的生命周期
本节内容为类的生命周期引言对象究竟是一个什么东西?对于许多初学者而言,对象都是一个非常抽象的知识点。如果非要用一句话描述,我觉得“万物皆对象”是对于对象最全面的概述了。本节内容中,我们将以在富土康打工的张全蛋组装一台水果手机作为例子,详细的讲解面向对象的各个方面。对象类的构造“张全蛋,你去水果公司,把他们的组装零件需求清单带过来~,并且还要带上组装的技术说明书。”车间主任吆喝着叫张全蛋办事。张全蛋前往了水果公司,如愿以偿的拿到了他想要的东西,组装零件清单上写着:amoled屏幕*1电池.原创 2020-08-05 14:23:19 · 960 阅读 · 0 评论 -
.NET Core 类的多态与继承
本节内容为类的多态与继承简介终于讲到了面向对象三大特性中的两大特性——继承与多态。通过继承与多态,我们能很好的将类的拓展性发挥到了极致。在下面的内容讲解中,我们将从各个方面对继承和多态进行刨析。继承继承事实上是一个非常好理解的语法,在C#中实现继承使用A:B,表示A类继承B类。子类(一称为派生类)继承于父类(一称为基类)就好比孩子继承了父亲的一切,但是孩子总归是有自己的个性的,而父亲也有一些不会告诉孩子的事情。如果我们从之前的访问控制符这一部分进行理解的话,你可以这样描述这个“融洽”的父子关系.原创 2020-08-05 14:15:47 · 643 阅读 · 0 评论