C# 窗口过程消息处理 WndProc WinForm WndProc 在 WinForm 中一般采用重写 WndProc 的方法对窗口或控件接受到的指定消息进行处理 示例:禁止通过关闭按钮或其他发送 WM_CLOSE 消息的途径关闭窗口 protected override void WndPro ...
Office COM 加载项开发笔记 一、实现接口 IDTExtensibility2 这是实现 Office COM 加载项最基本的接口 添加 COM 引用 Microsoft Add-In Designer 即可 对应文件 Extensibility.dll 只包含 IDTExtensibili ...
原文链接:https://www.cnblogs.com/ysmc/p/18800819 C# 委托(Delegate) 介绍(摘至网络) 在 C# 中,委托(Delegate) 是一种类型安全的函数指针,它允许将方法作为参数传递给其他方法 C# 中的委托(Delegate)类似于 C 或 C++ ...
前言 该系统为个人独立编写测试,也算自己的孩子吧,虽然基础功能简单但是也为了大家能有个可以借鉴,可以改写的模版使用,我就写个博客让大家参考,但是拒绝搬运售卖。 * 正式介绍 该系统基于C#开发,使用Visual Studio 2022版的开发环境,数据库则是SQL Server Management ...
CustomTaskPanes.Add方法,它自动把任务窗格添加到当前的工作簿上去了。怎样才能将工作簿对象和任务窗格关联起来? 方法是: ThisAddIn.cs中创建一个字典管理任务窗格 private Dictionary<string, CustomTaskPane> _createdPane ...
原文链接:https://www.cnblogs.com/ysmc/p/18798097 C# 异步编程的好处 异步编程是C#中非常重要的特性,它能让你的程序更高效、更流畅。我来用简单的方式解释它的好处: 1. 七窍玲珑心 - "边敲代码边和女朋友通话" 同步代码就像你敲代码时必须双手离开键盘才能接 ...
C#1 //属性可以自动实现 public string Name{get; private set;} public static List<Product> GetSampleProducts() { return new List<Product>//列表直接初始化 { new Product ...
前言 前段时间太忙了博客一直都没来得及更新,但是不代表我已经停止开发了,刚好最近把语音部分给调整了一下,所以就来分享一下具体的内容了。我想说一下,更新晚还是有好处的,社区已经有很多的小伙伴自己实现了一些语音对话功能的案例,比如小智也有.NET客户端了,还有就是一些树莓派对接实时语音api实现对话的功 ...
原为链接:https://www.cnblogs.com/ysmc/p/18796964 .NET 依赖注入深入详解 依赖注入(Dependency Injection, DI)是.NET Core .NET 5/6/7/8/9/10+中最重要的设计模式之一,下面我将从多个维度详细解释它的工作原理和 ...
背景介绍:.net core框架,API服务器域名是a.com, 服务器需要通过cookie授权给网站b.com域名并设置了授权域名为a.com。 当你想退出时,在网站b.com使用js清理了本域名下的所有cookie后,刷新浏览器cookie列表也确实看到本域名下没有cookie了。 这时再使用另 ...
docker的安装很多,就不说了 docker常用命令: 注:以下命令中,凡涉及到容器id的,都可以用容器id前三位,或者容器name 重启Docker服务:systemctl restart docker / service docker restart关闭Docker服务:docker serv ...
原文地址 https://www.cnblogs.com/ysmc/p/18795934 之前写过一个文章,是介绍Longbow.Tasks这个定时任务调度库的,然后不少小伙伴问过我,怎么东西怎么用,也怪我,在那篇文章结尾我讲过要出实战的,后来抛之脑后了,实在惭愧。 简单讲下这个库的情况,Longb ...
权限以树行结构呈现 可对权限进行添加,编辑,删除操作,也可以查看拥有此权限的账号 “启用验证”为true时这个权限是开始验证的,否则就不开启权限验证, “启用验证”用于中途某个按钮不验证权限了,就把这个权限不开启验证就可以了,不然就得去把所有人都分配上这个权限 编辑权限信息 查看拥有某个权限的账号 ...
原为链接 https://www.cnblogs.com/ysmc/p/18794061 在上一个文章中,我们讲过 键控服务 服务,可惜的是这个需要 .NET 8 才能使用,那我们在 .NET 8 之前应该怎么找到我们需要的服务呢,本文给大家讲讲使用特性的方式 本人依旧秉承着短小精悍,废话不多,直接 ...
Trae + claude3.7 事情的经过是这样的: 我有个方法代码如下: /// <summary> /// 获取客户端列表 /// </summary> /// <param name="input">查询条件参数,包含搜索、排序和分页信息</param> /// <param name="c ...
软件开发有点类似于艺术品的雕刻,需要不断的打磨。在我们基于一套成熟的架构开发一套软件后,往往都还是需要反复的推敲,进行不断的重构优化,使得重复的代码、硬编码等地方越来越少,也使得某些逻辑越来越有弹性化。软件开发和艺术品又有所不同,艺术品可能很容易完工并封刀,而软件开发却是持续的改进,软件最终的持续改... ...
原文地址:https://www.cnblogs.com/ysmc/p/18780674 近年AI风靡全球,我们日常见到的最多的就是跟AI聊天,极大减少了我们的搜索时间,不过大家也要注意甄别AI回答的正确性,身体不舒服还是老老实实看医生。 AI聊天的输出是逐字输出的,有些小伙伴就很好奇这个是怎么实现 ...
键控服务是指使用密钥注册和检索依赖项注入 (DI) 服务的机制。 通过调用 AddKeyedSingleton (或 AddKeyedScoped 或 AddKeyedTransient)来注册服务,与密钥相关联。 使用 [FromKeyedServices] 属性指定密钥来访问已注册的服务。 以往 ...
在前段时间,有粉丝反馈能否写一篇基于ASP.NET Core Web Api+React UI进行Web开发的文章,经过查阅相关资料,发现Visual Studio 2022已经集成相关模板,可以在Visual Studio中直接创建项目项目,今天以一个小例子,简述ASP.NET Core Web ... ...
前言 C# 获取枚举描述的方法有很多, 常用的有通过 DescriptionAttribute 反射获取, 进阶的可以加上缓存机制, 减少反射的开销。今天我们还提供一种更加高效的方法,通过增量源生成器生成获取枚举描述的代码。这是在编译层面实现的, 无需反射, 性能更高。 本文的演示代码基于 VS20 ...