lindexi

林德熙 - 微软最具价值专家和 .NET 基金会成员

林德熙

IIncrementalGenerator 增量 Source Generator 生成代码入门 获取引用程序集的所有类型

本文告诉大家如何在使用 IIncrementalGenerator 进行增量的 Source Generator 生成代码时,如何获取到当前正在分析的程序集所引用的所有的程序集,以及引用的程序集里面的所有类型

IIncrementalGenerator 增量 Source Generator 生成代码入门 判断程序集之间的 InternalsVisibleTo 关系

本文告诉大家如何在使用 IIncrementalGenerator 进行增量的 Source Generator 生成代码时,如何判断两个程序集之间是否存在 InternalsVisibleTo 关系

dotnet C# 高性能配置文件读写库 dotnetCampus.Configurations 简介

在应用程序运行的时,需要根据不同的配置执行不同的内容。有很多根据配置而初始化的功能往往是在应用程序启动的时候需要执行。对于很多类型的应用程序,特别是客户端的应用程序,启动的性能特别重要。也因此,在启动过程中需要依赖配置文件的不同配置而启动不同的功能时,就对配置文件的读写和解析性能提出了很高的要求 本文来和大家简单介绍我团队开源的 dotnetCampus.Configurations 高性能配置文件读写库。这个库不仅包含了配置文件的读取解析,还包括了自定义配置文件格式,也就是 COIN 硬币格式的配置文件。提供了多线程和多进程的读写安全的功能和毫秒级的配置文件读取解析性能,以及最低支持到 .NET Framework 4.5 框架

一些好用的开发者工具

本文告诉大家一些收藏的开发者工具

C# dotnet 分割换行

我在写一个 UWP 文本阅读器,我需要提升性能,需要将文本按行绘制但是文本里面的换行分割规则有点坑,本文写了一个辅助的方法用于分割换行

dotnet 通过 dotnetCampus.YamlToCsharp 将 YAML 多语言文件构建为代码

我在团队内的几乎所有 dotnet 项目,包括 UWP 和 WPF 桌面端以及 Xamarin 移动端和 ASP.NET Core 后端等需要用到多语言的项目,我的多语言都是通过 YAML 写的,这样相对来说在项目比较小的时候维护方便。但是 YAML 写的文件要读取需要用到 YAML 解析等,这部分的解析速度不够快,于是我就写了一个工具,用于在软件构建的时候自动将 YAML 多语言文件构建为代码。这样不仅能提升软件的执行速度,还能减少软件发布时需要带出去 YAML 解析库

asp dotnet core 实现服务器发送事件 Server-Sent Events 简单方式

在客户端开发时可以通过轮询的方式拿到服务器端的数据,同时在客户端开发时,如果是将客户端也作为服务器端,那么之间的通讯将会十分简单。有个逗比的小伙伴想要用我的客户端魔改,但是他又不想学习什么知识,此时他需要拿到我客户端的实时信息,好在他知道一点 html 的知识,于是让我通过服务器发送事件 Server-Sent Events 而他写一个简陋的 html 去拿到我客户端的数据 这是一个简陋的开发端的工具,开源的好处就是,你觉得不爽,自己改哇。自己改不动就等开发者下班协助啦,本文就使用一个简单的方式在 asp dotnet core 实现服务器发送事件。虽然标题是 asp dotnet core 而实际上我的软件是一个桌面端软件

C# 性能分析 反射 VS 配置文件 VS 预编译

本文分析在 C# 中使用反射和配置文件和预编译做注入的性能,本文的数据是为预编译框架,开发高性能应用 - 课程 - 微软技术暨生态大会 2018 - walterlv提供

给博客添加rss订阅

如果是自己搭建博客,有一个问题是如何写一篇新的文章就可以告诉读者,你写了一篇新的?一个简单方法是使用 rss ,RSS订阅是站点用来和其他站点之间共享内容的一种简易方式,即Really Simple Syndication(简易信息聚合),使用这个东西就可以把自己写的博客推送给读者。 本文告诉大家,如果在博客配置 rss 让读者可以订阅。

求点集的外接矩形

本文告诉大家给定点的集合,求点的集合的外接矩形

正则表达式30分钟入门教程

作者:deerchao

本文目标

30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。

win10 uwp Markdown

需求分析

jekyll 在博客添加流程图

本文告诉大家如何在博客使用流程图。

Latex 公式速查

本文记录了一些常用的数学公式对应的 Latex 字符,用于快速查找需要的字符。

C# 程序集数量对软件启动性能的影响

本文通过很多的数据测试分析在一个项目引用很多个外部项目和将外部项目的类合并到一个项目之间的启动性能的不同。 通过分析知道了如果一个项目引用了很多项目,而且在启动过程会全部调用这些项目,这时的软件性能会比将这些项目的代码合并到一个项目的慢很多 本文的数据为 预编译框架,开发高性能应用 - 课程 - 微软技术暨生态大会 2018 - walterlv 提供

C# 已知点和向量,求距离的点

已知一个点 P 和向量 v ,求在这个点P按照向量 v 运行距离 d 的点 B 。

C# 程序内的类数量对程序启动的影响

最近我在项目写了几万行代码,小伙伴担心会让程序启动速度变慢,所以本渣就来做测试。 本渣使用了代码创建器,创建了 1000 个垃圾文件,这些文件都很简单。我将这些文件放在一个控制台项目里,没有做任何的引用,然后使用 dotTrace 测试控制台启动的时间。

C# GUID ToString

最近在看到小伙伴直接使用 Guid.ToString 方法,我告诉他需要使用 Guid.ToString(“N”) 的方式输出字符串 ,为什么需要使用 N 这个参数呢,因为默认的是参数 D 在输出的时候会出现连字符

win10 UWP button

Button是一个常用控件,有很多和wpf一样,可以看《深入浅出WPF》,但还有一些虽然常用,但是可能大家不知道的功能

WPF 使用 Direct2D1 画图 绘制基本图形

本文来告诉大家如何在 Direct2D1 绘制基本图形,包括线段、矩形、椭圆

Roslyn 节点的 Span 和 FullSpan 有什么区别

本文告诉大家在使用 Roslyn 分析代码时,使用的 Span 和 FullSpan 有什么区别

C# 判断两条直线距离

本文告诉大家获得两条一般式直线距离。

git rebase 合并多个提交

rebase可以修改记录,我总是做小更改就提交,仓库有好多看起来很乱的 git没有可以把最后一个提交提交到服务器的能力,可以用rebase来做到把多个提交合并为一个。使用这个命令很简单,下面就来告诉大家如何使用这个命令

win10 UWP 九幽登录

九幽第三方登录及用户信息云存储插件可以登录QQ、新浪微博

win10 UWP 九幽数据分析

九幽数据统计是统计和分析数据来源,用户使用,先申请账号

win10 UWP Markdown 含源代码

Windows下没有比较好的Markdown编辑器 我就自己写一个 csdn的Markdown很好,就是我需要截图保存有麻烦 需要把我的截图保存在本地,然后上传

使用 IShellLinkW 创建 URL 网址超链接快捷方式

本文记录违规地采用 IShellLinkW 创建 URL 网址超链接快捷方式的方法

dotnet win32 判断传入路径是否在 U 盘

我在制作一个类似 PPT 的工具,这个工具有超链接模块,我需要关注的是超链接文件是否链接到 U 盘上了已给出提示。防止一些用户链接到自己电脑上,然后换个电脑又找不到

dotnet 警惕 async void 线程顶层异常

在应用程序设计里面,不单是 dotnet 应用程序,绝大部分都会遵循让应用在出现未处理异常状态时终结的原则。在 dotnet 应用里面,如果一个线程顶层出现未捕获异常,则应用进程将会被认为出现异常状态而退出。通常来说就是未捕获异常导致进程闪退

Office 已知问题 GROOVEEX.DLL 带崩进程

这是一位老师向我反馈的问题,我的一个 WPF 应用程序在他的设备上,任何弹出保存文件对话框或打开文件对话框的功能,都会导致进程闪退。经过进一步调查,我发现他电脑上任何软件弹出文件保存对话框都会闪烁,问题本身和 WPF 无关。最终调查到是 Office 的一个注入组件导致的问题

dotnet 10 已知问题 WinForms 的 TargetFramework 与 System.Drawing.Common 不匹配将抛出找不到类型异常

本文记录 dotnet 10 新引入的问题。如果 TargetFramework 是 .NET 9 版本,而引用的 System.Drawing.Common 包是 10.0 版本,那么运行程序时,可能抛出找不到类型异常

DirectWrite 通过 GetUnicodeRanges 获取字体能支持的字符范围

一个字体文件只能支持有限的字符数量,为了能够知道某个字体包含哪些字符,可通过 DirectWrite 提供的 GetUnicodeRanges 方法获取。本文将演示如何从 IDWriteFontFace 的 GetUnicodeRanges 方法获取字体能支持的字符范围以及对比 WPF 的行为

dotnet 制作一个简单的自动更新系统日期时间工具

本文和大家介绍我制作的一个简单的开机自启的自动更新系统日期时间工具

WPF 使用 DisplayConfigGetDeviceInfo 获取显示器名的方法

本文将和大家介绍在 WPF 里面调用 Win32 的 DisplayConfigGetDeviceInfo 获取显示器名的方法