找到相关内容 102
借助扩展方法简化参数合法性判断
有许多的方法需要对传入的参数进行合法性判断,比如下面这种 1 void AddItem(int rpIndex, Item rpItem)2 {3     if(rpIndex < 0)4   
http://cyqdata.cn/cnblogs/article-detail-52866 
c# 扩展方法奇思妙用滥用篇一:改进 2011 年度最佳代码
今天从老赵 的文章《谈谈年度最佳代码“不管你们信不信,反正我信了”》中学习了 2011 年度最佳代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 try { if (you.believe(i
http://cyqdata.cn/cnblogs/article-detail-42697 
我的KT库之-----扩展方法
了解或者认识KT:      http://www.cnblogs.com/kingthy/archive/2011/08/08/2130973.html      在项目中如何使用KT?  &nbs
http://cyqdata.cn/cnblogs/article-detail-42692 
通过WCF扩展实现消息压缩
对于需要进行大规模数据传输的WCF应用来说,对于请求消息和回复消息进行传输前的压缩,不但可以降低网络流量,也可以提高网络传输的性能。由于WCF的扩展性,我们可以采用不同的方式实现对消息的压缩,本文提供一种比较简单的实现方式。[源代码从这里下载] 一、三种可行的消息压缩方案 二、DataCompress
http://cyqdata.cn/cnblogs/article-detail-42624 
跟小静读CLR via C#(09)-扩展方法
对于一些现成的类,如果我们想添加一些新的方法来完善功能,但是不想改变已有的封装,也不想使用派生类,那么该怎么办呢?这里我们可以使用扩展方法。 一见钟情--初识扩展 扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 我们首先来看个例子,有个
http://cyqdata.cn/cnblogs/article-detail-42568 
c#扩展方法奇思妙用基础篇八:Distinct 扩展
刚看了篇文章 《Linq的Distinct太不给力了》,文中给出了一个解决办法,略显复杂。 试想如果能写成下面的样子,是不是更简单优雅: 1 2 var p1 = products.Distinct(p => p.ID);
http://cyqdata.cn/cnblogs/article-detail-42400 
使用sqlite扩展,避免在sql语句中使用不易看懂和难以维护的数字或名称缩写
本人最近使用C/C++操作sqlite数据库进行GIS数据转换时,感觉sqlite有个不方便的地方就是不能在sql中定义枚举量和常量。相比C/C++就提供了宏定义,枚举和常量定义来帮助程序员避免在代码使用无意义的数字。本人操作的GIS数据库中有很多枚举量,如道路表中道路类型列就是枚举量:0表示高速,1表示国道,2表示省道,3表示县道等。如果不能在sql中定义这些枚举量,那么在根据道路类型选择道路时
http://cyqdata.cn/cnblogs/article-detail-41857 
利用Mono.Cecil制作出枚举类的泛型扩展方法
我的项目的某部分需要经常判断枚举的某个标识的存在,就经常出现类似于“(A & B) == B;”这样的代码。不过我看着觉得不爽,也觉得很繁琐。我知道Enum类有HasFlag()方法,但是这个会导致装箱,智能感知也感知不出来,不好。于是我就写了下面的代码: 1 public static bool Has<TEnum&
http://cyqdata.cn/cnblogs/article-detail-41629 
C# ---扩展方法
      虽然自己以前用过扩展方法,但是从来没有认真总结过什么是扩展方法,前天面试被问到什么是扩展方法,在什么情况下使用,没答出来,现在在网上找了一下,做个小结,希望能看到此文的朋友给出指正。      在项目中经常要引用到别人的dll,假设dll中有个student类, 该类中只有GetName
http://cyqdata.cn/cnblogs/article-detail-41600 
[WCF权限控制]通过扩展自行实现服务授权[提供源码下载]
其实针对安全主体的授权实现的原理很简单,原则上讲,只要你能在服务操作执行之前能够根据本认证的用户正确设置当前的安全主体就可以了。如果你了解WCF的整个运行时框架结构,你会马上想到用于授权的安全主体初始化可以通过自定义CallContextInitializer来实现。[源代码从这里下载] 目录: CallContextInitializer简介 步骤一、自定义CallCo
http://cyqdata.cn/cnblogs/article-detail-41272 
WPF Behaviors之玻璃效果及其扩展
废话不多说,直接上代码上图 相关控件下载 XAML <Window x:Class="GlassTest.Window2" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
http://cyqdata.cn/cnblogs/article-detail-40630 
WorkFlow扩展篇Step.2—集合分组下的活动使用[下]-WF4.0
开篇         上篇我们主要是讲述了《WorkFlow扩展篇Step.1—集合分组下的活动使用[上]-WF4.0》如何使用集合Collection活动完成工作流的设计与开发,本篇我们将要继续 讲述集合活动内的另外二个活动的用法。 摘要 本篇我们是扩展篇的第二篇,本篇主要是讲述Collection的用法,一
http://cyqdata.cn/cnblogs/article-detail-40503 
WorkFlow扩展篇Step.1—集合分组下的活动使用[上]-WF4.0
开篇 上篇我们主要是讲述了《WorkFlow设计篇Step.6—InvokeMethod调用对象或类型方法-WF4.0》如何使用InvokeMethod完成工作流的设计与开发,本篇我们将要开始讲述 扩展篇的内容,主要是讲述如何使用集合Collection在工作流中的用法。 摘要 本篇我们是扩展篇的第一篇,本篇主要是讲述Collection的用法,一般来说我们对集合的操作,无非就是
http://cyqdata.cn/cnblogs/article-detail-40393 
我的VSTO之路(五):Outlook初步开发之联系人扩展
上一讲我们完成对Word的介绍,文本开始,我将着重介绍Outlook。Outlook是微软Office中一个非常实用的工具,尤其在一个拥有Windows Domain的公司局域网中,Outlook是员工最常用的通讯工具,所以对Outlook实行进一步的定制开发的需求量是很大的。本文中,我先以联系人的扩展为开始,讲解如何开发一个强大的Outlook插件。   故事的开始 首先我们假设一个场
http://cyqdata.cn/cnblogs/article-detail-39851 
下载文件时根据MIME类型自动判断保存文件的扩展
引言 用WebClient下载远程资源时,经常会遇到类似这样的网址: http://www.uushare.com/filedownload?user=icesee&id=2205188 http://www.guaishow.com/u/luanfujie/g9675/ 我们不知道这个Url具体代表的是一个网页,还是某种类型的文件。 而有些Url虽然带有扩展名,但可能是错误的扩展名,常见
http://cyqdata.cn/cnblogs/article-detail-39734 
有关jQuery UI Datepicker的扩展控件Timepicker的例子
前言:    最近的一个项目需要一个Timepicker来选择时间,如 8:00. 在网上找了很久, 终于找到一个我认为很不错的控件. 它的访问链接是: http://trentrichardson.com/examples/timepicker/ 缘由:   在做DEMO的过程中,由于原例子程序中没有提供独立的DEMO程序下载. 因此我通过查看它的页面源码来重新制
http://cyqdata.cn/cnblogs/article-detail-39493 
.NET4.0的可扩展缓存系统
.NET Framework中,叫做System.Runtime.Caching,这不仅是个缓存库,还是个框架,可以在上面开发自己的库。ObjectCache定义了所有缓存都要实现的通用操作。与之搭配的是个内存缓存实现,叫做MemoryCache。这个缓存系统的结构如下:   上图大家可以看出来对应那些产品了吗?   下面我给大家介绍一个实现这样一个架构的代码示例,代码的核心就是ObjectC
http://cyqdata.cn/cnblogs/article-detail-39345 
数据库新时代:扩展与融合成主角
从传统意义上讲,数据库这一软件更多地担任了数据管理的角色,它与其他软件系统的关系更多地是与管理软件的融合,可是,在现阶段,数据库的单打独斗,或者仅与传统管理软件融合已经不再满足用户需求,与商业智能(BI)的结合已经到了"我中有你,你中有我"的境界,更加让人期待的是,数据库与硬件的融合,一些专业的数据库机器正在出现。   甲骨文、IBM、微软,数据库领域的三巨头,依然在孜孜不倦地推出新的产品,并不断
http://cyqdata.cn/cnblogs/article-detail-39219 
详解Visual Studio 2010中的扩展管理器
扩展能够为核心应用程序提供附加的功能或者自定义设置。在很多应用程序中这都是很流行的,包括流行的web浏览器IE和Firefox、微软的Office、媒体播放器、Photoshop、Eclipse、Visual Studio等等。其中有些可能比较新奇,而针对开发工具——像Eclipse和Visual Studio——的扩展让开发者的生产力得到了显著提高
http://cyqdata.cn/cnblogs/article-detail-39201 
扩展方法 之 基本数据篇
前一篇我列举了几个最常用到的基于Asp.Net的扩展方法,而这一篇基于基本数据的扩展方法理应不会逊一筹,因为它不局限于Asp.Net。何谓基本数据,这里直接摆定义:   C# 中有两种基本数据类型:值类型和引用类型。 值类型包括:简单类型、结构类型、枚举类型;引用类型包括:Object 类型、类类型、接口、代表元、字符串类型、数组。   说白了这篇就是扩展 int, string, doubl
http://cyqdata.cn/cnblogs/article-detail-39156