- 博客(10)
- 资源 (1)
- 收藏
- 关注
原创 生成代码,从 <T> 到 <T1, T2, Tn> —— 自动生成多个类型的泛型
当你想写一个泛型 的类型的时候,是否想过两个泛型参数、三个泛型参数、四个泛型参数或更多泛型参数的版本如何编写呢?是一个个编写?类小还好,类大了就杯具!事实上,在 Visual Studio 中生成代码的手段很多,本文采用最笨的方式生成,但效果也很明显——代码写得轻松写得爽!我们想要的效果我们现在有一个泛型的版本:public class Demo{ pu
2018-01-31 13:37:17 825
原创 在操作系统重启后恢复应用程序的工作状态
Windows 10 创意者更新之后,默认开启了重启后恢复应用程序状态的功能。这是自 Vista 以来就提供的功能——Restart Manager。应用程序实现这一功能只需要调用 RegisterApplicationRestart 即可。传入两个参数:重启后使用的命令行参数(例如当前正在打开的文件,以及正在阅读或编辑的位置)决定是否进行重启的限制标记(任何时候都能重启还是在某些
2018-01-30 08:45:57 2029
原创 让一个 csproj 项目指定多个开发框架
可移植类库、共享项目、.NET Standard 项目都能够帮我们完成跨多个 .NET SDK 的单一项目开发,但它们的跨 SDK 开发都有些限制。现在,我们又有新的方式能够跨多个 .NET SDK 开发了,这就是使用新的 csproj 文件格式。看看拥有多个开发框架的项目长什么样吧! ▲ 多 SDK 项目是不是很激动?新 csproj 文件在 如何组织一个同时面
2018-01-30 08:45:27 1586
原创 再也不用克隆多个仓库啦!git worktree 一个 git 仓库可以连接多个工作目录
我在 feature 分支开发得多些,但总时不时被高优先级的 BUG 打断需要临时去 develop 分一个分支出来解 BUG。git 2.6 以上开始提供了 worktree 功能,可以解决这样的问题。阅读本文将了解使用 git worktree 高效进行并行开发的方法。git worktree 从一个仓库中可以创建多个工作目录,方便多开编辑器并行开发。快速上手git
2018-01-30 08:44:27 10370
原创 推荐近乎免费的调试神器——OzCode
当一只断点打在 Visual Studio 的代码编辑器中,程序命中断点的那一刻,调试才刚刚开始……这个时候忙碌的手在键盘和鼠标之间来回跳跃,试图抓住每一次单步执行带来的状态改变。如果命中断点的那一刻多数我需要的状态都自动呈现,偶尔需要的状态能够快速定位,那该多好!于是,有了 OzCode……—OzCode 的官网在这里:[OzCode: Innovative debugging ex
2018-01-30 08:43:56 6603 1
原创 .NET Core 和 .NET Framework 中的 MEF2
MEF,Managed Extensibility Framework,现在已经发布了三个版本了,它们是 MEF 和 MEF2。等等!3 去哪儿了?本文将教大家完成基于 MEF2 的开发。MEF 和 MEF2其实微软发布了四个版本的 MEF:随着 .NET Framework 4.0 发布,微软称之为 MEF随着 .NET Framework 4.5 发布,微软让它
2018-01-30 08:40:01 1641
原创 将 WPF、UWP 以及其他各种类型的旧样式的 csproj 文件迁移成新样式的 csproj 文件
写过 .NET Standard 类库或者 .NET Core 程序的你一定非常喜欢微软为他们新开发的项目文件(对于 C#,则是 csproj 文件)。这种文件非常简洁,组织一个庞大的项目也只需要聊聊二三十行;也非常易读,你可以轻易地修改其代码而不用经过过多的提前学习。当然,微软曾经尝试过用 project.json 来组织项目文件,不过只有短短的预览版阶段用过,此后就废弃了。然而组织传统 .
2018-01-30 08:37:44 831
原创 .NET 中的轻量级线程安全
对线程安全有要求的代码中,通常会使用锁(lock)。自 .NET 诞生以来就有锁,然而从 .NET Framework 4.0 开始,又诞生了 6 个轻量级的线程安全方案:SpinLock, SpinWait, CountdownEvent, SemaphoreSlim, ManualResetEventSlim, Barrier。SpinLock, SpinWaitSpinLoc
2018-01-30 08:32:50 870
原创 卡诺模型(KANO Model)
卡诺模型是一种研究影响顾客满意度因素的方法,在软件工程中可以用来辅助做需求分析和优化产品的质量。作为一种方法,卡诺模型将某一种特性的存在程度作为横坐标,越大表示某个功能或特性做得越多,越小则表示做得越少。而纵坐标是用户满意度/认可程度,越高表示用户越喜欢,越低表示用户越讨厌此特性。于是,卡诺模型为不同的特性分成五个类别:魅力特性:如果产品没有此特性,用户并不关心;而产品拥有此
2018-01-30 08:32:11 9752
原创 C#/.NET 匿名函数会捕获变量,并延长对象的生命周期
小伙伴在一次垃圾回收中,发现对象并没有被回收掉,而注释掉一句代码后它便能够回收。这究竟是为什么?不关心探索过程的就直接拉到最后看结论吧!探索测试代码是这样的:private void OnLoaded(object sender, RoutedEventArgs e){ var variable = new MainPage(); var re
2018-01-30 08:30:42 808
UWP 程序所需的最少 Logo 资源
2018-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人