刷新
WPF开发中重写Combox样式遇到的一些问题

博主头像 在实际的WPF开发过程中,你可能需要自定义ComBox的样式,重写的样式可能不出效果,背景色无法正常显示,或者是显示的内容出现白色遮罩,如以下的效果: 1.ComBox样式如下: <Style TargetType="TextBlock" x:Key="BaseTextBlockStyle"> <S ...

[原创]《C#高级GDI+实战:从零开发一个流程图》第06章:繁琐?没扩展性?抽象!抽象!

博主头像 一、前言 前面的课程我们实现了两种形状:矩形、圆形,在第4章的时候就会发现,仅增加了个新形状,代码量及判断逻辑就翻倍不止,异常繁琐,可维护性很差,更没有扩展性可言。我们本节课就来解决这一点,解决的方法也很简单经典:抽象! 相信看完的你,一定会有所收获! 本文地址:https://www.cnblog ...

C#脚本化(Roslyn):如何在C#脚本中引入nuget包

博主头像 假设我们开发了一个C#脚本编辑器,利用Roslyn去执行用户所编写的脚本。这时候,如果用户想要引用一个nuget包,应该如何实现呢? 我们想要引用nuget包的话,只要能得到nuget包及其依赖包的所有程序集和资源文件就可以了。如何引用程序集,可以看这一篇:使用Roslyn脚本化C#时如何调用不包含 ...

高级.net面试题

博主头像 1 IsNullOrEmpty()和IsNullOrWhiteSpace()的区别? IsNullOrEmpty是一个静态方法,它用于检查一个字符串是否为空或者为null。 public static bool IsNullOrEmpty(string value); IsNullOrWhiteSp ...

MinHook 如何对 .NET 母体 CoreCLR 进行拦截

博主头像 一:背景 1. 讲故事 这篇文章起源于和一家 .NET公司 开线上会议时,提出的一个场景问题,程序出现了非托管内存暴涨,这些非托管内存关联的对象都囤积在 终结器队列 中,很显然这是代码中没用 using 及时释放引发的,而这块代码又是第三方组件,你想加也加不了,所以提出了一个设想:能不能设法干预 终 ...

C#:从反编译的代码来看record类型

博主头像 从C#9开始,可以使用record关键字来定义一个具有不可变属性的引用类型,编译器会为该类型生成大量的模板代码。C#10以后,record struct用来定义值类型,record class或record用来定义引用类型。 record(C# reference)这篇官方的文档中,介绍了recor ...

[原创]《C#高级GDI+实战:从零开发一个流程图》第05章:有锯齿?拖动闪烁?优化!优化!

博主头像 一、前言 前面的课程我们实现了矩形、圆形的拖动,以及不同形状间的连线,在实现的过程中,很多读者都发现并提出来了存在显示质量差有锯齿、拖动不流畅还闪烁等问题,作为承上启下的一节课程,我们本节就来看一上如何解决这些问题。 相信看完的你,一定会有所收获! 本文地址:https://www.cnblogs. ...

芯片测试中的LDO 电压测试

博主头像 芯片测试中 检查 LDO 电压(Low Dropout Regulator Voltage) 是一个非常关键的环节,用于验证芯片内部或外部 LDO 是否正常输出稳定的电压,为核心模块提供可靠电源。 1.什么是 LDO 电压测试 LDO(低压差线性稳压器) 通常存在于芯片内部,用于将外部较高电压(如 ...

DotTrace系列:9. 大结局之 跨平台 和 自定义行为 诊断

博主头像 一:背景 1. 讲故事 本篇是系列的最后一篇,我们从跨平台部署和自定义诊断的角度跟大家聊一聊 dottrace,希望对大家有所启发。 二:跨平台和自定义诊断 1. 如何跨平台诊断分析 如果 dottrace 只能在 windows 平台上跑,那确实不值得写一个系列,目前它可以横跨三大平台(Windo ...

C#.Net筑基-泛型T & 协变逆变

博主头像 泛型(Generics)是C#中的一种强大的强类型扩展机制,在申明时用“占位符”类型参数“T”定义一个“模板类型”,比较类似于C++中的模板。泛型在使用时指定具体的T类型,从而方便的封装、复用代码,提高类型的安全性,减少类型转换和装箱。 ...

DotTrace系列:7. 诊断 托管和非托管 内存暴涨

博主头像 一:背景 1. 讲故事 分析托管和非托管内存暴涨,很多人潜意识里都会想到抓dump上windbg分析,但我说可以用dottrace同样分析出来,是不是听起来有点让人惊讶,哈哈,其实很正常,它是另辟蹊径采用底层的ETW机制,即开启 windows 底层日志,所以 dottrace 可以做,官方血统的 ...

DotTrace系列:6. 程序异常诊断 和 Request慢处理

博主头像 一:背景 1. 讲故事 在我分析的众多dump中,有一些CPU爆高是因为高频的抛 Exception 导致,比如下面这张图,有 19 个线程都在抛 xxxResultException 异常。 从卦中虽知大量异常的痕迹,但从严谨的角度来说,最好再卜一卦,就是用 perfview 或者 dottrac ...

DotTrace系列:4. 诊断窗体程序变卡之原因分析

博主头像 一:背景 1. 讲故事 写这一篇是因为昨天看 dottrace 官方文档时,在评论区看到了一条不友好的评论,截图如下: 虽然语气上带有些许愤怒,但说实话人家也不是无中生有,作为 dottrace 的忠实粉丝我还是能够理解他的心情的,所以这篇我用最新的 2025.01 版 dottrace 来演示一下 ...

[原创]《C#高级GDI+实战:从零开发一个流程图》第04章:来个圆形,连线它!

博主头像 一、前言 上一节我们实现了在矩形与矩形之间添加连线,光是矩形太单调了,某些问题也暴露不出来,我们本节就来看一下,如何添加一个圆形,且支持圆形与圆形、圆形与矩形、矩形与矩形间的连线。在这个过程中我们会发现一些问题,这些问题我们后续课程会进行处理,大家也请带着自己的思考和理解去看。 相信看完的你,一定会 ...

芯片测试中的电源管脚接触测试

博主头像 电源管脚接触测试(Power Pin Contact Test)是芯片量产/测试流程中用于确认芯片电源引脚(如 VDD、VSS、AVDD、DVDD 等)是否与测试治具或探针台良好接触的关键测试环节。 1.为什么要做电源管脚接触测试? 电源管脚如果接触不良,可能导致: 芯片无法正常上电,所有后续测试失 ...

芯片测试中 IO管脚接触测试

博主头像 芯片中的 IO管脚接触测试(IO Pin Contact Test),是芯片测试流程(ATE:Automatic Test Equipment 流程)中非常关键的早期测试环节,主要用于判断芯片引脚是否正确接触探针/测试座,以避免由于接触不良导致后续测试误判。 1.IO管脚接触测试的目的 确认每个 I ...

<1···345···14>