林德熙 - 微软最具价值专家和 .NET 基金会成员
本文告诉大家如何加载 .NET Core 或 .NET 5 的 sos.dll 文件到 WinDbg 的方法
本文来聊聊 MSIL 的基础知识,给一个 C# 的类标记了 static 之后和标记 static 之前,生成这个类的 IL 代码有什么不同
我尝试在 dotnet core 和 dotnet 5 的应用上,右击项目属性,在生成界面勾选首选 32 位的功能,然而在 x64 下没有生成 PE32+ 的应用
在应用程序运行的时,需要根据不同的配置执行不同的内容。有很多根据配置而初始化的功能往往是在应用程序启动的时候需要执行。对于很多类型的应用程序,特别是客户端的应用程序,启动的性能特别重要。也因此,在启动过程中需要依赖配置文件的不同配置而启动不同的功能时,就对配置文件的读写和解析性能提出了很高的要求 本文来和大家简单介绍我团队开源的 dotnetCampus.Configurations 高性能配置文件读写库。这个库不仅包含了配置文件的读取解析,还包括了自定义配置文件格式,也就是 COIN 硬币格式的配置文件。提供了多线程和多进程的读写安全的功能和毫秒级的配置文件读取解析性能,以及最低支持到 .NET Framework 4.5 框架
假设有一个捣蛋的小伙伴加入了你的团队,这个捣蛋的小伙伴喜欢乱改代码,请问此时的单元测试能否拦住这些逗比行为?如果不能拦住逗比行为,是否代表着单元测试有所欠缺,或者有某些分支逻辑没有考虑到。本文将告诉大家的 Stryker.NET 就属于这样的一个捣蛋的小伙伴,这个工具将会在执行测试的时候乱改你的代码,看看你的单元测试是否能拦住这样的行为。如果在乱改代码之后,单元测试依然是通过的,那证明单元测试没有拦住此行为,说不定就需要改改单元测试了
本文告诉大家如何在 UWP 中,保存图片的时候,写入 Exif 信息,也就是如照片的 相机型号 制造商 光圈值等信息的写入
本文告诉大家如何在 WPF 获取资源文件包含 # 号的文件资源
本文将给大家一个 System.Xaml 的独立项目,此项目代码和 WPF 仓库的 System.Xaml 项目相同,但本文的 System.Xaml 的独立项目不依赖 WPF 其他项目,构建方便,构建速度快,搭配 System.Xaml.Demo 项目更方便调试
本文告诉大家,如何判断 PPT 的某个元素动画属于进入或退出或强调等类型的动画
本文告诉大家如何读取 PPT 文件里面,放在主动画序列 MainSequence 的进入和退出和强调的动画,和在 OpenXML 里面的存放方式
默认在使用 OpenXML SDK 读写 Office 文件,如 PPT 或 Word 或 Excel 文件时,在关闭时调用 Dispose 将会自动将更改部分写入到文件。本文告诉大家如何让 OpenXML SDK 不写入只是释放资源
本文也叫跟着 Stephen Toub 大佬学性能优化系列,这是我从 Stephen Toub 大佬给 WPF 框架做性能优化学到的知识,在热路径下,也就是频繁调用的模块,如果调用了委托的 GetInvocationList 方法,那么将视委托的大小,每次创建不同大小的新数组对象,而在频繁调用的模块,将会创建大量的对象
在集合变更,无论是使用 foreach 遍历还是使用 Linq 语句,即使是 FirstOrDefault 获取第一项,都会失败
本文也叫跟着 Stephen Toub 大佬学性能优化系列,这是我从 Stephen Toub 大佬给 WPF 框架做性能优化学到的知识,通过让委托无捕获来进行性能优化
本文也叫跟着 Stephen Toub 大佬学性能优化系列,这是我从 Stephen Toub 大佬给 WPF 框架做性能优化学到的知识,通过 EqualityComparer 静态类的相等方法来优化值类型相等判断性能
如果没有特别的需求,请使用 Dictionary 而不是 Hashtable 原因是 Dictionary 的性能更好,本文将告诉大家 Stephen Toub 大佬的评测
在 OpenXML 中表示的角度和咱日常使用的角度不相同,而在 .NET 里面的 Math 函数里面使用的是弧度表示,此时就需要有一些转换。本文来告诉大家一些概念,让大家明白角度和弧度的差别
本文来告诉大家如何在 WPF 中,在 下拉框 ComboBox 里面,鼠标移动到 ComboBoxItem 上时,自动触发对应的事件,用来预览此选项值。例如我在实现一个颜色下拉框,此时我可以通过点击下拉框显示多个不同的颜色,鼠标移动到某个颜色选项上,可以修改界面,预览此颜色的内容
本文来告诉大家如何可以获取一个可用的端口
本文告诉大家,如果限制某些 API 接口,只能让本机进行访问,如只能通过 127.0.0.1 调用某个接口的 get 或 post 方法
假设在某个类型的构造函数里面抛出了异常,那么这个对象的析构函数是否会执行
如果使用某个变量去获取某个类型的对象创建,但是在这个类型的构造函数调用时抛出异常,请问此变量是否可以拿到对应的对象
如果我在一个方法的 finally 里面抛出异常,而在 try 里面也抛出,那在上层拿到的是什么
有时我期望只是创建出对象,但是不要调用对象的构造方法,可以通过使用 FormatterServices 的 GetUninitializedObject 函数来实现只创建对象不调用构造函数方法
本文告诉大家,在后台代码,对 TranslateTransform 做动画的方法
本文记录我写的逗比代码,我在 DebuggerDisplay 对应的属性的 get 方法上,在这个方法里面修改了业务逻辑,如修改界面元素,此时我在 VisualStudio 断点调试下和非断点调试下的行为不相同
我写了一点逗比代码,让在每次使用 NewLife 的 RocketMQ 发送消息时,都创建一个新的 Producer 生产者。此时我发现了在我的消费者里面,无论开多少个消费者实例进程,每次都只有一个消费者进行消费
本文来告诉大家在 WPF 开发中,发现有某个按钮或某个控件,某个预期的界面,没有在窗口或者没有在界面里面看到或者找到可能的原因和调试的方法
VisualStudio 的局部变量窗口里面看到某些结构体的值和实际上的结构体调用 ToString 方法返回的值是不同的 When I use the unsafe struct with the special size and I override the ToString method, then I can find the actual ToString value and the value in VisualStudio Locals windows are different
阅读本文,你可以了解如何编写开发和调试 XAML 构建为 Baml 和 g.cs 文件的过程和工具。本文也适合想要了解 WPF 的 XAML 构建过程的开发者阅读,本文提供了可以断点调试 WPF 的 XAML 构建过程的方法和代码
在自定义 WPF 控件库时,可以看到有一些控件会加上 DefaultEventAttribute 特性,通过这个特性可以告诉 XAML 编辑器,默认创建的事件是什么
如果在某个窗口的 Deactivated 事件里面,使用 Mouse.Capture 方法,让这个窗口重新捕获鼠标,那么将会让进程的所有窗口都失去鼠标交互,点击无效,只有在切换到其他进程的窗口之后,才能让窗口继续交互
本文来告诉大家 ECMA 376 文档的 20.1.10.47 章的 ST_PresetColorVal 预设颜色值对应的颜色
本文来告诉大家,在 OpenXML 里面的 Geometry 的如 gdLst 和 ahLst 和 pathLst 等里面参数的公式的参数含义
我有一个 WPF 应用,这是一个绿色软件,会被用户拷贝这和那的文件夹,我期望在多个文件夹里面打开的进程,在任务栏里面都可以将窗口进行合并。使用 Win32 的 Shell32.dll 提供的 SetCurrentProcessExplicitAppUserModelID 可以显设置应用的 Application User Model ID 从而让在多个不同的路径打开的应用,使用相同的 Id 而在任务栏进行合并窗口