代码改变世界

[置顶]唔... 突然发现进入推荐博客了

2011-01-13 17:09 by Nana's Lich, 252 阅读, 收藏, 编辑
摘要: 大概以后写东西会有更多的人来看了吧?这倒是个好事。不过发现这件事的时候我正在把一些乱七八糟的东西往博客上扔——本来只是放着备忘的,所以也没任何说明和注释。希望从“推荐博客”点进来的同学们没有因为这些东西迷惑到。还有,我是非常非常懒的,如果发现我总是发些零零散散的东西却很少发代码和解说都完整的文章,也千万别觉得奇怪。阅读全文

复健备忘 - PredefinedAdornmentLayers

2013-05-20 13:29 by Nana's Lich, 72 阅读, 收藏, 编辑
正文内容加载中...

通过反射中的 TypeBuilder 来动态实现 INotifyPropertyChanged 接口

2013-03-06 07:49 by Nana's Lich, 1384 阅读, 收藏, 编辑
摘要: 由于 WPF 中并没有简便的实现 INotifyPropertyChanged 接口的办法,所以即使是使用 CallerMemberNameAttribute 或者代码段来加快实现的过程,写出来的代码也会显得很臃肿。 本文介绍一种可以利用自动实现属性来实现 INotifyPropertyChanged 的办法及其原理。阅读全文

[分享]另一种对 IDisposable 的实现

2013-01-04 20:05 by Nana's Lich, 135 阅读, 收藏, 编辑
摘要: 相比于刚发出来没多久的关于 MVVM 的文章,对 IDisposable 接口的讨论更是老生常谈了。详细讲解 IDisposable 的文章也有很多,不想深入了解的看了会头晕,想深入了解的估计也早就了解过了。所以本文不讲那么多大道理,实用为主,一切从简。正文实际上,不管和大家一起讨论过多少次,不管用过多少次,每次再使用 IDisposable 的时候总还是会有点犯迷糊,会怀疑自己实现得到底对不对。久而久之,对 IDisposable 的实现就产生了一个模板,紧接着模板便理所当然地成了一个抽象类: public abstract class DisposableObject : IDispos.阅读全文

[分享]一些在 WPF/Silverlight 中应用 MVVM 模式时可能会有点用途的代码

2013-01-04 19:35 by Nana's Lich, 178 阅读, 收藏, 编辑
摘要: MVVM 虽好,但开发起来却总让人怀疑到底是轻松了还是把问题更加复杂化了。 试过几种办法之后发现实现 View Model 最方便的办法是要靠使用代码段。阅读全文

一个简单的WSH Scriptlet

2012-05-26 20:59 by Nana's Lich, 330 阅读, 收藏, 编辑
摘要: 先强调一下,我这里把它称为“Scriptlet”只是因为和其字面意义比较近似,并不是指 Microsoft Windows 中的那种“脚本组件”。起因有些时候我会弄到一些免安装的实用工具,比方说 Sysinternals 套件中的工具就都属于这一种。但是虽然工具是免安装的,可实际用起来的时候找到工具的所在位置也挺麻烦的,所以我尝试过几种办法,有创建快捷方式、创建文件夹、设置 Path 环境变量等等,总地来说当这类五花八门的免安装工具越来越多的时候,我是会犯懒的,于是我就开始想有什么办法可以一劳永逸地解决这个问题。解决方案经过短时间的尝试以后,我最终写出了一个能有点帮助的 Scriptlet,语阅读全文

另一种在字节数组和十六进制字符串之间转换的手段

2012-05-24 17:42 by Nana's Lich, 381 阅读, 收藏, 编辑
摘要: 几年前我使用国外的一个流行的Blog服务来撰写博文,但是因为一些众所周知的原因我打不开自己的博客了,于是才刚刚开始写博的我就不得不中断这种行为了,直到后来在园子重新开博。前几天我弄到了条VPN,一时兴起就翻出原来的博客来看,结果在上面找到了以前的一些小研究,其中之一便是标题所指的东西。用途什么的就不再废话了,总之在.NET编程中通常来说从字节数组到十六进制的转换是要用BitConverter.ToString,返回的字符串会包含减号/横线作为每个字节所对应的十六进制数之间的分隔符,不想看到的话就只能再Replace掉,而且BitConverter类名不能省略,用起来不怎么方便;从十六进制到字节阅读全文

园子的模板 CSS 有点小毛病

2011-06-21 15:49 by Nana's Lich, 195 阅读, 收藏, 编辑
摘要: #green_channel a{/* ... 省略 ... */-moz-border-radius: 5px;-webkit-border-radius: 10px;-moz-box-shadow: 0 1px 3px rgba(0,0,0,0.5);-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.5);/* ... 省略 ... */}这段 CSS 是针对 Mozilla 和 WebKit 引擎的,所以其它浏览器认不出来。实际上 Opera 和 IE9 早就可以正确呈现这样的效果了,只要换成这样就可以了:#green_channel a{/* ...阅读全文

两则用于验证 Email 地址的正则表达式

2011-06-16 14:35 by Nana's Lich, 397 阅读, 收藏, 编辑
摘要: 网络上所流传的大部分验证信箱格式的正则表达式往往会对一些实际上有效的信箱地址作出错误地判断,所以我参考 RFC 写了个比较完善的,可以用来对付几乎所有可能的信箱地址格式。阅读全文

【备忘】在类库项目中使用 Razor 智能感知

2011-01-22 15:15 by Nana's Lich, 381 阅读, 收藏, 编辑
摘要: http://blogs.msdn.com/b/webdevtools/archive/2011/01/20/how-to-get-razor-intellisense-for-model-in-a-class-library-project.aspx阅读全文

分享 Visual Studio 2010 扩展制作的心得:基本功能篇

2011-01-21 11:09 by Nana's Lich, 5743 阅读, 收藏, 编辑
摘要: 在制作为 Visual Studio 2010 添加背景的扩展时遭遇了很多问题,现在我把这些问题以及解决的办法分享出来,希望能帮到同样对 Visual Studio 扩展感兴趣的同学。 这一篇先说说“添加背景”这一基本功能的实现。阅读全文