dotnet

C#泛型的逆变协变(个人理解)

前编 一般来说, 泛型的作用就类似一个占位符, 或者说是一个参数, 可以让我们把类型像参数一样进行传递, 尽可能地复用代码 我有个朋友, 在使用的过程中发现一个问题 IFace<object> item = new Face<string>(); // CS0266 pub »

CollapseNav

设计模式-工厂方法模式

工厂方法模式是一种创建型设计模式, 提供一种统一的方式来创建对象, 调用者无需关心具体的构建细节 对象的创建过程被封装在工厂类中, 调用者只需要使用一个共同的接口来获取对象, 不需要直接使用new操作符 这样可以降低客户端和具体产品类之间的耦合度, 提高系统的可扩展性和可维护性 工厂方法模式的作用 ... »

CollapseNav

设计模式-工厂方法模式

工厂方法模式是一种创建型设计模式, 提供一种统一的方式来创建对象, 调用者无需关心具体的构建细节 对象的创建过程被封装在工厂类中, 调用者只需要使用一个共同的接口来获取对象, 不需要直接使用new操作符 这样可以降低客户端和具体产品类之间的耦合度, 提高系统的可扩展性和可维护性 工厂方法模式的作用 ... »

CollapseNav

设计模式-工厂方法模式

工厂方法模式是一种创建型设计模式, 提供一种统一的方式来创建对象, 调用者无需关心具体的构建细节 对象的创建过程被封装在工厂类中, 调用者只需要使用一个共同的接口来获取对象, 不需要直接使用new操作符 这样可以降低客户端和具体产品类之间的耦合度, 提高系统的可扩展性和可维护性 工厂方法模式的作用 ... »

CollapseNav

设计模式-工厂方法模式

工厂方法模式是一种创建型设计模式, 提供一种统一的方式来创建对象, 调用者无需关心具体的构建细节 对象的创建过程被封装在工厂类中, 调用者只需要使用一个共同的接口来获取对象, 不需要直接使用new操作符 这样可以降低客户端和具体产品类之间的耦合度, 提高系统的可扩展性和可维护性 工厂方法模式的作用 ... »

CollapseNav

设计模式-工厂方法模式

工厂方法模式是一种创建型设计模式, 提供一种统一的方式来创建对象, 调用者无需关心具体的构建细节 对象的创建过程被封装在工厂类中, 调用者只需要使用一个共同的接口来获取对象, 不需要直接使用new操作符 这样可以降低客户端和具体产品类之间的耦合度, 提高系统的可扩展性和可维护性 工厂方法模式的作用 ... »

CollapseNav

设计模式-工厂方法模式

工厂方法模式是一种创建型设计模式, 提供一种统一的方式来创建对象, 调用者无需关心具体的构建细节 对象的创建过程被封装在工厂类中, 调用者只需要使用一个共同的接口来获取对象, 不需要直接使用new操作符 这样可以降低客户端和具体产品类之间的耦合度, 提高系统的可扩展性和可维护性 工厂方法模式的作用 ... »

CollapseNav

(3) MasaFramework 入门第三篇,使用MasaFramework

首先我们需要创建一个MasaFramework模板的项目,项目名称TokenDemo,项目类型如图所示 删除Web/TokenDemo.Admin项目,新建Masa Blazor Pro项目模板 项目,项目位置在src/Web项目 项目类型选择ServerAndWasm,为了让我们支持俩种模式 »

(3) MasaFramework 入门第三篇,使用MasaFramework

首先我们需要创建一个MasaFramework模板的项目,项目名称TokenDemo,项目类型如图所示 删除Web/TokenDemo.Admin项目,新建Masa Blazor Pro项目模板 项目,项目位置在src/Web项目 项目类型选择ServerAndWasm,为了让我们支持俩种模式 »

(1)入门MasaFramework教程

(1)入门MasaFramework教程 首先了解一下MasaFramework是什么 MasaFramework是一个基于.Net6.0的后端框架, 可以被用于开发Web应用程序、WPF项目、控制台项目 其实就是MasaFramework提供了很多功能的包,很强大,对于Dapr的支持非常好,如果有 »

如何让 WinDebug Preview 加载 Dotnet Core 的 SOS.dll 进行调试

一、前言    最近我在使用 WinDebug进行系统调试,也是在学习《Net高级调试》这本书。以前听过 WinDebug 调试器,但是没有使用过,由于最近想起来了,就好好的研究一下,学习一下。初次接触,还是走了不少弯路,踩了不少坑。关于 WinDebug 最新版的安装方法,可以在“微软商店”里面, »

PatrickLiu

我做的FFmpeg开源C#封装库Sdcb.FFmpeg

我认为把东西做出来和把东西做好是有区别的,以前FFmpeg在C#里面东西也就是“能用”的状态,希望通过这样一个开源项目能向“.NET作为第一等公民”方向努力。 我做的FFmpeg开源C#封装库Sdcb.FFmpeg 写在前面: 该主题为2022年12月份.NET Conf Chin »

sdflysha

dotnet 缓存

Net 内置内存缓存 asp.net 中是有缓存的实现:HttpContext.Cache,缓存的数据是放到 Web 服务器的进程 内存里。 在控制台、WinForm、子线程、SignalR 等不支持 HttpContext 的地方还可以使用 MemoryCache.Default(System.R »

snail-wn C#

2023 年 dotnet 仓库社区年度调查已经开始

准备好今年对 dotnet 指手画脚了吗,平常在群里我忍气吞声,今天我必须重拳出击,快来参与吧。 准备好今年对 dotnet 指手画脚了吗,平常在群里我忍气吞声,今天我必须重拳出击,快来参与吧。 我直接一个参的加 .NET 是一个跨平台的开发框架,支持多种语言和应用场景,如 C#、F# »

newbe36524

dotnet 8 preview 1 即将发布

.Net 8 preview 1 即将到来,让我们来提前看看都要发布什么吧。 .Net 8 preview 1 即将到来,让我们来提前看看都要发布什么吧。 .Net 8 preview 1 即将到来 .NET 8 的第一个预览版将在几周内发布,微软的 David Ortinau 在斯德 »

newbe36524

.Net Core对于`RabbitMQ`封装分布式事件总线

首先我们需要了解到分布式事件总线是什么; 分布式事件总线是一种在分布式系统中提供事件通知、订阅和发布机制的技术。它允许多个组件或微服务之间的协作和通信,而无需直接耦合或了解彼此的实现细节。通过事件总线,组件或微服务可以通过发布或订阅事件来实现异步通信。 例如,当一个组件完成了某项任务并生成了一个事件 ... »

hejiale010426 dotnet

实现一个简单的在浏览器运行Dotnet编辑器

之前已经实现过Blazor在线编译了,现在我们 实现一个简单的在浏览器运行的编辑器,并且让他可以编译我们的C#代码, 技术栈: Roslyn 用于编译c#代码 [monaco](microsoft/monaco-editor: A browser based code editor (github. ... »

hejiale010426

dotnet 代码优化 聊聊逻辑圈复杂度

本文属于 dotnet 代码优化系列博客。相信大家都对圈复杂度这个概念很是熟悉,本文来和大家聊聊逻辑的圈复杂度。代码优化里面,一个关注的重点在于代码的逻辑复杂度。一段代码的逻辑复杂度越高,那么维护起来的难度也就越大。衡量代码的逻辑复杂度的一个维度是通过逻辑圈复杂度进行衡量。本文将告诉大家如何判断代码... ... »

lindexi