lindexi

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

林德熙

PowerShell 通过 WMI 获取系统安装的驱动

本文告诉大家如何通过 WMI 获取用户已经安装的驱动程序

BAT 脚本判断当前系统是 x86 还是 x64 系统

本文告诉大家在写 BAT 脚本的时候,如何判断当前的系统是 32 位系统的还是 64 位系统

WPF 从文件加载字体

本文告诉大家从文件加载字体的方法。在 wpf 使用 FontFamily 显示指定的 ttf 文件来显示字体

Roslyn 使用 Target 替换占位符方式生成 nuget 打包

本文告诉大家如何编写在编译过程修改打包文件

PowerShell 拿到显卡信息

本文告诉大家如何在 PowerShell 通过 WMI 拿到显卡信息

NetBIOS 计算机名称命名限制

本文告诉大家对于 NetBIOS 的命名的限制

WPF 如何判断两个 LinearGradientBrush 相等

在 WPF 没有提供默认的判断 LinearGradientBrush 相等的方法,本文给大家一个可以直接在项目使用的方法

Roslyn 理解 msbuild 的清理过程

在开发的时候,小伙伴会使用右击解决方案,点击清理解决方案。在这个按钮点击的背后 msbuild 做了什么?为什么很多时候的清理之后还存在一堆文件?如何让自己想的 Target 也支持清理

WPF 通过 ReadyToRun 提升性能

通过 ReadyToRun 可以在程序集同时包含 IL 和本机代码,可以有效提升软件的启动速度

Roslyn 开发 NuGet 包的 Task 编译可能遇到的问题

在写 msbuild 脚本的时候,或修改项目文件的时候,将会使用到很多的微软提供的 Task 命令。在需要复杂的编译的时候,可以通过自己定义一个任务用来定义编译

Roslyn 让编译时候 Message 内容默认输出

默认无论是在 VisualStudio 还是在 dotnet 命令行都会忽略项目文件或安装库里面的消息输出,而吕水小伙伴给了一个馊主意将所有需要输出给用户的消息换为警告,因为默认是会输出警告,于是消息就可以输出了。然后某个小伙伴就过来打我,因为他一编译整个项目原本是没有警告的,现在有很多警告。于是我就在找是否有方法可以做到让消息的内容默认输出

WPF 解决弹出模态窗口关闭后,主窗口不在最前

本文告诉大家如何解决这个问题,在 WPF 的软件,弹出一个模态窗口。使用另一个窗口在模态窗口前面。从任务栏打开模态窗口。关闭模态窗口。这时发现,主窗口会在刚才使用的另一个窗口下面。

WPF 网络 request 的 read 方法不会返回

我最近为宝资通写软件,这个软件需要从网上下网页。但是使用 HttpRequest 的时候发现 StreamReader 等方法可能等待很久不会返回,能否有方法设置超时解决卡住线程

SharpDx 进入全屏模式

本文告诉大家两个不同的方法进入全屏模式

C# 命令行如何静默调用 del 删除文件

如果在 C# 命令行调用 del 删除文件,很多时候会提示是否需要删除,本文告诉大家如何调用命令行的时候静默删除

WPF 光标初始化的时候 temp 文件夹满了无法创建

在 WPF 切换光标的时候,如果是通过本地资源的方法传入 stream 的,需要先复制到临时文件夹里面的文件,然后读取文件指针释放文件。如果此时的 temp 文件夹满了,那么复制文件的时候就无法继续了,于是就无法创建完成光标

Roslyn 将这个文件放在你的项目文件夹,无论哪个控制台项目都会输出林德熙是逗比

虽然已经通过很多篇博客告诉大家如何通过 Directory.Build.props 文件修改编译的方法,但是本文还是提供一个新的思路 只需要在项目文件夹,或者磁盘的文件夹,如 E:\ 放下本文提供的 Directory.Build.props 文件,整个文件夹内的控制台项目就会输出 林德熙是逗比 想要知道是怎么做的,请看下面

C# 使用反射获取私有属性的方法

本文告诉大家多个不同的方法使用反射获得私有属性,最后通过测试性能发现所有的方法的性能都差不多

WPF 绑定的默认模式

小伙伴绑定了一个属性,但是发现属性在更新的时候没有同步到后台,他说在 WPF 绑定的默认值是什么?为什么没有设置 Mode 的属性,有的是双向有的是单向?本文就来告诉大家在 WPF 定义的依赖属性是如何控制绑定的是双向还是单向的方法

WPF 类型的构造函数执行符合指定的绑定约束的调用时引发了异常

本文告诉大家如果遇到类型“Foo.MainWindow”的构造函数执行符合指定的绑定约束的调用时引发了异常的时候可以如何知道是哪个不清真代码

C# json 转 xml 字符串

本文告诉大家如何将 json 转 xml 或将 xml 转 json 字符串

C# double 好用的扩展

在很多代码需要使用数学计算,在用到 double 很难直接判断一个值是 0 或者 1 ,判断两个值相等。 本文提供一个数学扩展,让大家可以简单使用到 double 判断

C# 16 进制字符串转 int

最近在写硬件,发现有一些测试是做 16 进制的字符串,需要把他转换为整形才可以处理 本文告诉大家如何从 16 进制转整形

SublimeText 快速打开当前文件的文件夹

在使用 SublimeText 需要使用资源管理器打开当前的文件,但是没有官方的方法,需要设置快捷键

PowerShell 通过 WMI 获取设备厂商

本文告诉大家如何通过 WMI 使用Win32_ComputerSystem获取设备厂商

PowerShell 通过 WMI 获取补丁

本文告诉大家如何通过 WMI 获取补丁

VisualStudio 给项目添加特殊的 Nuget 的链接

有一些项目需要使用一些特殊的 Nuget 才可以下载,但是不能在开源的项目需要小伙伴下载仓库在自己的 VisualStudio 修改自己的 Nuget 链接才能编译,本文告诉大家将某个项目独立的 Nuget 配置放在一个文件

WPF 封装 dotnet remoting 调用其他进程

本文告诉大家一个封装好的库,使用这个库可以快速搭建多进程相互使用。

WPF 获取应用的所有窗口

本文告诉大家如何获取应用内的所有窗口,无论这些窗口有没显示

WPF 列表自动换行

本文告诉大家如何在 ListView 或 ListBox 使用 WrapPanel 让里面的控件自动换行

WPF 设置输入只能英文

有时输入只能让用户输入英文,那么如何设置输入只能英文? 做法就是禁用 IME 输入法,此时输入就只能是英文或数字

UWP IRandomAccessStream 与 Stream 互转

本文告诉大家如何将 IRandomAccessStream 和 Stream 互转

Roslyn 使用 WriteLinesToFile 解决参数过长无法传入

在写 Roslyn 的时候,经常需要辅助编译的工具,而这些工具需要传入一些参数,在项目很大的时候,会发现自己传入的参数比微软限制控制台可以传入的参数大很多,这时就无法传入了参数。 本文告诉大家如何使用 WriteLinesToFile 先把参数写入文件,通过文件的方式传输参数

C# Task.Run 和 Task.Factory.StartNew 区别

有小伙伴问我,为什么不推荐他使用 Task.Factory.StartNew ,因为 Task.Run 是比较新的方法。 本文告诉大家 Task.Run 和 Task.Factory.StartNew 区别

WPF ListBox 的选择

本文告诉大家在 ListBox 做选择时,多选时 SelectedItem 和 SelectedIndex 的值。