lindexi

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

林德熙

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 的值。

WPF 最小的代码使用 DynamicRenderer 书写

在 WPF 中有 DynamicRenderer 提供高性能的书写,这个类在 WPF 只有 InkCanvas 使用,如果想要在自己的 UIElement 使用,需要写一些代码

WPF 如何建立自己的 3d gis 程序

本文收藏我找到的博客

WPF 从文件创建图片的方法

本文告诉大家通过 FileStream 创建文件的方法

WPF 从 DrawingVisual 转 BitmapImage 图片

有一些库的设计是需要传入一个 BitmapImage 图片,但是我需要从界面代码创建图片,我没有文件,如何通过 DrawingVisual 画出的控件转换 BitmapImage 传给库? 需要将 DrawingVisual 转为 RenderTargetBitmap 然后将 RenderTargetBitmap 转为 BitmapImage 才可以

dot net double 数组转 float 数组

本文告诉大家如果遇到 double 数组转 float 数组千万不要使用 Cast ,一般都使用 select 强转。

C# 使用转换语义版本号

本文告诉大家如何转换语义版本号,那么什么是语义版本号,语义版本号(semantic version)就是版本号带 alpha 等的版本号

WPF 一个空的 WPF 程序有多少个窗口

好多小伙伴说 WPF 的程序有五个窗口,但是我尝试使用了 EnumThreadWindows 去获取的时候居然拿到了 10 多个窗口

VisualStudio 通过 EditorBrowsable 隐藏不开放的属性或方法

在开发中,总是会有一些方法不期望让大家直接使用到,就可以通过 EditorBrowsable 特性让智能提示不显示这个属性或方法

WPF 解决 ListView 的滚动条不显示

本文告诉大家如何解决一个诡异的问题,如果有一个 ListView 同时里面的元素的高度很长,但是滚动条就是不显示,怎么让这个滚动条显示

WPF 获取下载内容长度

本文告诉大家如何获取一个下载内容的长度