摘要: init关键字是C#9新增的语法,用于属性或索引器中定义访问器。使用init关键字定义的访问器具有init-only的特性,即只能在对象构造期间对属性或索引器元素进行赋值,对象构造完成后,不可以再修改属性或索引器元素的值。 init关键字解决了什么问题 实际上,我个人认为init-only属性和re 阅读全文
posted @ 2025-05-19 16:27 昏睡红猹 阅读(307) 评论(0) 推荐(1)
摘要: 使用Roslyn的CSharpScript类运行C#脚本时,会默认包含一部分程序集,默认包含的程序集引用可以直接使用,而其他程序集则需要额外提供引用。本文简单描述了使用Roslyn的CSharpScript类实运行C#脚本时,如何引用程序集。 情景再现 首先创建一个C#类库,代码很简单,提供一个静态 阅读全文
posted @ 2025-05-15 17:45 昏睡红猹 阅读(224) 评论(0) 推荐(0)
摘要: 如何获取上次BIOS所用时间 在Windows任务管理器的“启动应用”页签的右上角,有一个“上次BIOS所用时间”,这个时间可以通过注册表项来获取,注册表位置如下 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power\{FwPOSTTime} 该位置记录了上次BI 阅读全文
posted @ 2025-05-14 20:35 昏睡红猹 阅读(101) 评论(0) 推荐(0)
摘要: Hybrid shutdown 自Win8.1开始,在休眠和完全关闭之外,多出一个“混合关闭(hybird shutdown)”的状态。在“控制面板\硬件和声音\电源选项\系统设置”中开启快速启动选项后,在开始菜单中选择关机,设备将进入混合关闭状态。混合关闭状态下,用户会话被关闭,而内核会话处于休眠 阅读全文
posted @ 2025-05-14 14:12 昏睡红猹 阅读(251) 评论(0) 推荐(0)
摘要: 在C#中调用C++动态库导出的函数时,有时候需要封送一些复杂的数据结构,这时候不确定自己封送的数据的内存布局对不对,就想要弄个简单的C++项目模拟一下被调用的接口,检查一下C#的数据封送是否正确。 因为对C++项目基本上没任何了解,捣鼓了半天才搞定,所以这里简单记录一下过程,以加深记忆。 1. 首先 阅读全文
posted @ 2025-05-08 23:43 昏睡红猹 阅读(117) 评论(0) 推荐(0)
摘要: 1. 我有一个netframework4.8的类库项目,里面提供了一个自定义控件,然后我按照以下方法为控件提供了默认样式 a) 添加Themes\Generic.xaml文件,文件中提供自定义控件的默认样式 <Style TargetType="MyControl"> <Setter Propert 阅读全文
posted @ 2025-05-05 21:08 昏睡红猹 阅读(226) 评论(0) 推荐(2)
摘要: 问题描述 在下面这段代码中,我们给控件的某个属性设置了单向绑定,然后在代码的某处给这个属性显式地赋了值,结果会导致我们在这之前设置的绑定永久失效。 //外部给Text属性设置绑定 <TextBox Text="{Binding Name, Mode=OneWay}" /> //控件内部代码 priv 阅读全文
posted @ 2022-11-08 20:36 昏睡红猹 阅读(324) 评论(1) 推荐(3)