代码改变世界

随笔分类 - 扩展方法

c# 扩展方法 奇思妙用 高级篇 九:OrderBy(string propertyName, bool desc)

2012-01-15 18:41 by 鹤冲天, 27695 阅读, 收藏, 编辑
摘要:如题,本文实现 OrderBy(string propertyName, bool desc) 扩展方法,以弥补 Linq 原生排序方法的不足 阅读全文

c# 扩展方法奇思妙用基础篇十:IsEmpty、IsNotEmpty 扩展

2011-12-10 22:45 by 鹤冲天, 7366 阅读, 收藏, 编辑
摘要:IsEmpty、IsNotEmpty 扩展方法,用来确定序列是否包含元素。 阅读全文

你能指出这个 ForEach 扩展方法中的错误吗?

2011-10-07 16:06 by 鹤冲天, 4574 阅读, 收藏, 编辑
摘要:Linq 中没有原生的 ForEach 扩展方法,我们可以很轻松的扩展一个......但这个有返回值的实现中有错误的,你能指出吗? 阅读全文

c# 扩展方法奇思妙用基础篇九:Expression 扩展

2011-09-15 17:18 by 鹤冲天, 25073 阅读, 收藏, 编辑
摘要:使用 Expression 类创建 Expression Trees 的代码往往比较繁琐,可以借助扩展方法予以简化。 阅读全文

c# 扩展方法奇思妙用滥用篇一:改进 2011 年最佳代码

2011-08-08 18:39 by 鹤冲天, 9820 阅读, 收藏, 编辑
摘要:使用 OrNot 扩展方法性改进 2011 年最佳代码:if (whatEver(you.Believe)(it).OrNot()) I.Believe(it); 阅读全文

c# 扩展方法奇思妙用基础篇八:Distinct 扩展

2011-08-01 20:57 by 鹤冲天, 20863 阅读, 收藏, 编辑
摘要:刚看了篇文章 《Linq的Distinct太不给力了》,文中解决办法,略显复杂。使用本文的扩展方法可写成如下优雅的方式:var p1 = products.Distinct(p => p.ID) 阅读全文

c# 扩展方法奇思妙用基础篇七:IsBetween 通用扩展

2011-02-18 21:09 by 鹤冲天, 6245 阅读, 收藏, 编辑
摘要:写个扩展容易,但写一个通用的扩展可不简单,试看本文借如何优雅的完成通用的 IsBetween 扩展... 阅读全文

c# 扩展方法奇思妙用基础篇 六:WhereIf 扩展

2011-02-17 19:24 by 鹤冲天, 14007 阅读, 收藏, 编辑
摘要:创建并使用 WhereIf 扩展方法简化代码... 阅读全文

c# 扩展方法奇思妙用基础篇五:Dictionary<TKey, TValue> 扩展

2011-01-28 18:41 by 鹤冲天, 27242 阅读, 收藏, 编辑
摘要:为 Dictionary<TKey, TValue> 类创建几个扩展方法,让使用更加简洁高效... 阅读全文

c# 扩展方法奇思妙用基础篇四:Random 扩展

2011-01-27 20:45 by 鹤冲天, 10360 阅读, 收藏, 编辑
摘要:在 .Net 中,我们一般使用 Random 类来生成随机数,它仅提供了几个基本方法供我们使用。如果想生成一些特殊的随机数,如枚举、日期等,则要再进行几步处理。本文将会扩展 Random 类,让随机更方便... 阅读全文

c# 扩展方法奇思妙用 ASP.NET MVC 篇:巧用扩展方法优先级,美化所有页面 TextBoxFor 文本框

2010-04-17 21:12 by 鹤冲天, 12809 阅读, 收藏, 编辑
摘要:巧妙使用扩展方法的优先级,美化你网站(ASP.NET MVC)页面的TextBoxFor文本框;配合js脚本,还能限制用户录入。而且你甚至不需要修改任何一个前台页面... 阅读全文

c# 扩展方法奇思妙用高级篇八:Type类扩展

2009-12-11 19:43 by 鹤冲天, 6490 阅读, 收藏, 编辑
摘要:Type 类提供了大量的属性和方法,但在一些基础性开发工作中,Type类功能还有些欠缺,尤其上在处理泛型类型时,如可空类型和泛型集合类型。下面的类就针对这些地方进行扩展... 阅读全文

c#扩展方法奇思妙用高级篇七:“树”通用遍历器

2009-11-09 22:06 by 鹤冲天, 6887 阅读, 收藏, 编辑
摘要:“树”的遍历是一个通用算法,本文给出“树”遍历的通用扩展方法... 阅读全文

c# 扩展方法奇思妙用高级篇六:WinForm 控件选择器

2009-11-08 21:17 by 鹤冲天, 9375 阅读, 收藏, 编辑
摘要:在Web开发中,jQuery提供了功能异常强大的$选择器来帮助我们获取页面上的对象。但在WinForm中,.Net似乎没有这样一个使用起来比较方便的选择器。好在我们有扩展方法,可以很方便的打造一个。 阅读全文

c# 扩展方法奇思妙用高级篇五:ToString(string format) 扩展

2009-09-02 21:09 by 鹤冲天, 12034 阅读, 收藏, 编辑
摘要:本文给出了ToString(string format)的扩展实现,一劳永逸... 阅读全文

c# 扩展方法奇思妙用高级篇四:对扩展进行分组管理

2009-08-29 23:49 by 鹤冲天, 6131 阅读, 收藏, 编辑
摘要:从系列文章开篇到现在,已经实现的很多扩展了,但过多的扩展会给我们带来很多麻烦... 本文给出了三种解决方法... 阅读全文

c# 扩展方法奇思妙用变态篇四:string 的翻身革命

2009-08-26 20:27 by 鹤冲天, 8205 阅读, 收藏, 编辑
摘要:string是各种编程语言中最基础的数据类型,长期以来受尽其它类的压迫... 而现在string要“翻身闹革命”了,它几乎无所不能,可以为所欲为,令其它类心惊胆颤... 阅读全文

c# 扩展方法奇思妙用基础篇三:byte 常用扩展

2009-08-22 21:11 by 鹤冲天, 8821 阅读, 收藏, 编辑
摘要:byte 常用的八种扩展 阅读全文

c#扩展方法奇思妙用变态篇三:switch/case组扩展

2009-08-18 20:32 by 鹤冲天, 12699 阅读, 收藏, 编辑
摘要:变态篇二中给出了对if/else、swith/case及while 的扩展,其中举了一个Swith扩展的应用... 今天突然有了新想法,对Switch扩展进行了改进。所谓“语不惊人死不休”,且看这次的改进如何... 阅读全文

c# 扩展方法奇思妙用高级篇三:Enumerable.Cast<T> 应用

2009-08-17 21:10 by 鹤冲天, 17390 阅读, 收藏, 编辑
摘要:Enumerable.Cast用于将IEnumerable转换为泛型版本IEnumerable。转换后可尽情享用Enumerable的其它方法... 但MSDN中仅给出一个转换ArrayList的例子,很多人看了感觉用处不多,其实不然... 阅读全文