摘要:搜集一些博客好文,这些都是精品文章,有空一定要读的!陆续更新……比较懒,等多了再分类。算法:编程小练习:拆分自然数老赵的自然数分解--少侠之非递归解自然数拆分拆分自然数:纯while实现 (Part 1 - 思路)拆分自然数:纯while实现 (Part 2 - 实现)人文:网络正在改变我们得思维?我在南大的七年暗时间不是书评 :《我是一只IT小小鸟》程序员真情忏悔录新的一年,您是否考虑转型呢?事情永远做不完,却什么都带不走不要迷失在技术的海洋中我们到底该怎么学技术?如何成为一个优秀的技术人员?计算机体系结构与程序性能老赵减肥记:减肥?跟玩儿似的。技术:深入线程,实现自定义的Synchroni 阅读全文
posted @ 2010-01-24 16:05 primeli 阅读(280) 评论(0) 推荐(0) 编辑
摘要:public static class VisualExtension { public static T FindAncestor<T>(this DependencyObject dependencyObject) where T : class { while (dependencyObject != null && !(dependencyObject is T)) { dependencyObject = VisualTreeHelper.GetParent(dependenc... 阅读全文
posted @ 2010-01-24 11:40 primeli 阅读(286) 评论(0) 推荐(0) 编辑
摘要:有个库,人家写好了,呵呵,咱直接调用就行了,具体怎么实现的我不清楚啊。。分享一些我封装好的扩展方法吧,基于MethodInfo的,名叫FastInvokepublic static void FastInvoke(this MethodInfo methodInfo, object target) { Dynamic<object>.Instance.Procedure.Explicit.CreateDelegate(methodInfo)(target); } public static void FastInvoke<TArg... 阅读全文
posted @ 2010-01-24 11:30 primeli 阅读(250) 评论(0) 推荐(0) 编辑
摘要:众所周知,反射调用,速度很慢,那怎么办?有什么方法提速么?有啊,这不,我就介绍一下如何利用表达式树来加速反射调用。那为什么表达式树比反射快呢?因为,表达式树可以用Emit生成强类型委托。好吧,让我们看看如何操作:1. 一定要定义强类型委托,尤其是签名 /// <summary> /// Represents a generic delegate to a function. /// </summary> public delegate object LateBoundFunc(object target, object[] arguments); /// <sum 阅读全文
posted @ 2010-01-24 11:21 primeli 阅读(363) 评论(0) 推荐(0) 编辑
摘要:什么是链式写法?就是Linq那样的,不停的点点点。比如collection.Where(o=>o.id==0).FirstOrDefault();如何实现链式写法?关键就是要Return!1. 链式写法,String.IsNullOrEmpty(),写起来很顺,"".IsNullOrEmpty()而不是String.IsNullOrEmpty("")public static bool IsNullOrEmpty(this string str) { return String.IsNullOrEmpty(str); }2. 链式写法,判断是否.. 阅读全文
posted @ 2010-01-24 11:05 primeli 阅读(285) 评论(0) 推荐(0) 编辑
摘要:话说WPF的Dispatcher类是这样的方法:public DispatcherOperation BeginInvoke(Delegate method, params object[] args);我们使用的时候不得不这样些:Dispatcher.BeginInvoke((Action)delegate() { //Do something... });不觉得丑么?还要强制转换成Action。可你说,它参数是Delegate,我杂办啊?呵呵,你忘了扩展方法了?如果我们能变成:Dispatcher.BeginInv... 阅读全文
posted @ 2010-01-24 10:55 primeli 阅读(1438) 评论(0) 推荐(0) 编辑