前言 虽然已经正式转JAVA了,但最近发现一个特别好的开源项目masuit,不仅提供很多简便的功能,还有图像的一些特殊操作功能。 之前我们比较图片应该都是使用的openCV,不过这个masuit,看上去也不错,而且代码使用简单,因此强烈推荐。 下面就实现一个简单图像对比。 实现对比 首先添加引用ma ...
前一段时间我用 WPF 开发了一个查看 emoji 表情的小工具 https://github.com/he55/EmojiViewer ,由于最近我使用 macOS 系统比较多,我想能在 macOS 系统上也能使用这个工具。于是我尝试将 WPF 应用迁移到 Electron 框架,感觉这个框架很强 ...
在WPF开发中,Binding实现了数据在Source和Target之间的传递和流通,就像现实生活中的一条条道路,建立起了城镇与城镇之间的衔接,而数据校验和类型转换,就像高速公路之间的收费站和安检站。那在WPF开发中,如何实现数据的校验和类型转换呢?本文以一个简单的小例子,简述在WPF开发中,实现数... ...
一、简介 这是我的《Advanced .Net Debugging》这个系列的第三篇文章。这个系列的每篇文章写的周期都要很长,因为每篇文章都是原书的一章内容(太长的就会分开写)。再者说,原书写的有点早,有些内容还是需要修正的,调试每个案例,这都是需要时间的。今天这篇文章的标题虽然叫做“基本调试任务” ...
概述:该通用单例泛型基类使用C#实现,线程安全,通过泛型参数和Lazy<T>实现简化的单例模式。优点包括线程安全、泛型通用性、简化实现、以及延迟加载的特性。 优点: 线程安全: 使用Lazy<T>确保了线程安全的延迟初始化,避免了在多线程环境下可能导致的竞态条件问题。 泛型通用性: 通过泛型参数,该 ...
概述:以上内容详细介绍了在 C# 中实现不改变原 List 值的多层嵌套复制方法,包括使用 AutoMapper、Json.NET、以及对象序列化的步骤和示例。这些方法提供了灵活而高效的方式,可以根据项目需求选择最适合的深度复制方式。 1. 使用 AutoMapper 进行多层嵌套复制 AutoMa ...
AvaloniaUI是一个强大的跨平台.NET客户端开发框架,让开发者能够针对Windows、Linux、macOS、Android和iOS等多个平台构建应用程序。在构建复杂的应用程序时,模块化和组件间的通信变得尤为重要。Prism框架提供了模块化的开发方式,支持插件的热拔插,而MediatR则是一... ...
概述:JSON Web Token(JWT)是一种用于安全传输信息的标准。主要用于身份验证和信息传递,通过头部、载荷和签名构成。在.NET Core中,可通过Microsoft.AspNetCore.Authentication.JwtBearer实现后台服务,提供生成、刷新和验证Token的接口。 ...
NuGet下载Flurl FlurlHttpClient类 public class FlurlHttpClient { private readonly FlurlClient client; public FlurlHttpClient(FlurlClient client) { this.cl ...
上一篇中,老周简单肤浅地介绍了 XInput API 的使用,并模拟了鼠标移动,左、右键单击和滚轮。本篇,咱们用 .NET 代码来完成相同的效果。 说起来也是倒霉,博文写了一半,电脑忽然断电了。不知道什么原因,可能是 UPS 电源出故障。重新开机进来一看,博文没有自动保存到草稿箱。我记得以前是有自动 ...
通过本篇教程,我们学习了如何在 Taurus.MVC WebMVC 中使用部分视图和页面片段来提高代码的复用性和可维护性。我们了解了部分视图和页面片段的基本概念,并学习了如何创建和使用它们。 ...
已知在OpenXml有以下几种超链接 功能 说明 跳转页面 跳转某一页:ppaction://hlinksldjump跳转第一页:ppaction://hlinkshowjump?jump=firstslide跳转最后一页:ppaction://hlinkshowjump?jump=lastslid ...
委托 一、什么是委托,委托的本质是什么? 跟方法有点类似,有参数,返回值,访问修饰符+delegate --委托--特殊的方法? 委托的本质是什么?是方法吗? 反编译试试:发现定义的委托 再CustomDelegate 有对应的class 委托的本质是什么? Class(类),继承自一个Multic ...
目录 一、简介 二、创建gRPC服务端 1.创建gRPC项目 2.编写自己的服务 三、创建gRPC客户端 1.创建客户端项目 2.grPC服务https的调用 3.gRPC内网http调用 4.IOC注入的方式调用gRPC 四、webapi中加入gRPC 回到顶部 一、简介 简单解析一下gRPC,g ...
通过本篇教程,我们学习了如何在 Taurus.MVC WebMVC 中配置路由并将其映射到控制器和操作方法。我们学习了默认路由和自定义路由的创建方法,并了解了不同 URL 对控制器和操作方法的影响。 ...
本章将和大家分享 Elasticsearch 的一些基本操作。话不多说,下面我们直接进入主题。 一、索引库操作 1、settings属性 settings属性可以设置索引库的一些配置信息,例如:配置分片数和副本数、配置自定义分词器等。 其中分片数量只能在一开始创建索引库的时候指定,后期不能修改。副本 ...
前言 这是一篇很水的文章,没有任何技术含量,在 Github 已经有很多人对 Avalonia 的 OpenGL ES 支持进行了讨论,但是我还是想写一篇文章来记录一下我是如何在 Avalonia 中使用 OpenGL ES 的。 介绍 在介绍 Avalonia 和 OpenGL ES 之前,我们先 ...
通过本篇教程,我们学习了如何在 Taurus.MVC WebMVC 中处理表单提交和进行数据验证。我们创建了一个包含表单的视图,并在控制器中接收表单数据,并进行数据验证和其他逻辑操作。 ...
在硬件性能不断提升的现在,软件性能依旧是开发人员关注的重点。不同类型的程序关注的具体性能指标有所不同,服务器程序注重吞吐量,游戏引擎追求渲染效率,桌面程序则关注内存消耗以及界面加载效率和流畅性。当我们需要进行性能优化时,首先需要找到性能瓶颈。本文将介绍两个WPF性能优化分析工具:内存使用率和应用程序 ...
前言: 在本篇 Taurus.MVC WebMVC 入门开发教程的第四篇文章中, 我们将学习如何实现数据列表的绑定,通过使用 List<Model> 来展示多个数据项。 我们将继续使用 Taurus.Mvc 命名空间,同时探讨如何在视图中绑定并显示一个 Model 列表。 步骤1:创建 Model ...