递归示例(二):WinForm之TreeView的应用—绑定区域树
C#中的树很多。比如,Windows Form程序设计和Web程序设计中都有一种被称为TreeView的控件。TreeView控件是一个显示树形结构的控件,此树形结构与Windows资源管理器中的树形结构非常类似。不同的是,TreeView可以由任意多个节点对象组成。每个节点对象都可以关联文本和图像。另外,Web程序设计中的TreeView的节点还可以显示为超链接并与某个URL相关联。每
http://cyqdata.cn/cnblogs/article-detail-35906
Silverlight实用窍门序列:32.WebClient上传String、下载String、上传Stream流、下载Stream流【附带源码实例】
Silverlight中我们很多时候需要上传下载数据的时候,在本节将讲述使用WebClient上传String、下载String、上传Stream流、下载Stream流的4个方法和相应的事件。下面我们首先认识一下WebClient类。
&nb
http://cyqdata.cn/cnblogs/article-detail-35861
Silverlight实用窍门序列:31.Silverlight中WebClient+StreamResourceInfo+反射实现动态加载外部XAP程序【附带源码】
在Silverlight中我们时常会遇到需要加载其他已经制作完成的Silverlight程序的情况,在本节中我们使用WebClient下载XAP包形式的Silverlight程序,然后使用反射的方式解析出这个Silverlight的程序加载到本Silverlight程序中。步骤如下:
&n
http://cyqdata.cn/cnblogs/article-detail-35814
Transaction Scripts vs Domain Model
最近和一些朋友在闲聊之中发现不少人对于Transaction Scripts的认同和对于Domain Model的不理解都让我非常的诧异。所以就有了这篇文章。
首先,什么是Transaction Scripts,什么又是Domain Model呢?据我所知这两个概念都是Martin Flower在《Patterns of Enterprise Application Architecture》
http://cyqdata.cn/cnblogs/article-detail-35785
关于Expression Tree和IL Emit的所谓的"性能差别"
昨天写了《三种属性操作性能比较》,有个网友写信问我一个问题:从性能上看,Expression Tree和IL Emit孰优孰劣?虽然我在回信中作了简单的回答,但不知道这个网友是否懂我的意思。反正今天呆在家里也没事儿,干脆再就这个话题再写一篇文章。 目录: 一、Expression Tree和IL Emit并不存在所谓的性能差异 二、属性赋值操作的两种写法
http://cyqdata.cn/cnblogs/article-detail-35666
分享一款基于Windows Phone 7的Metro样式的Silverlight主题
Windows Phone 7的Metro主题真的非常好看,同样我们可以将Metro主题应用到Silverlight应用程序中,前阵子在关注Windows Phone 7的时候发现就有这么一款主题,大家可以去http://silverzine.com/7metro/7metro.html 上看看具体的效果。
在该网站提供源代码下载,http://silverzine.com/7met
http://cyqdata.cn/cnblogs/article-detail-35650
三种属性操作性能比较:PropertyInfo + Expression Tree + Delegate.CreateDelegate
在《上篇》中,我比较了三种属性操作的性能:直接操作,单纯通过PropertyInfo反射和IL Emit。本篇继续讨论这个话题,我们再引入另外两种额外的属性操作方式:Expression Tree(这和IL Emit基本一致)和通过Delegate的静态方法CreateDelegate创建相应的委托进行属性的赋值和取值。[源代码从这里下载] 目录 一、定义测试相关的接口、类型和委
http://cyqdata.cn/cnblogs/article-detail-35611
[翻译]JavaScript秘密花园 - Array, Array Constructor, for in loop, typeof, instanceOf
JavaScript Garden - 原文
JavaScript Garden - 中文翻译
数组遍历与属性
虽然在 JavaScript 中数组是是对象,但是没有好的理由去使用 `for in` 循环 遍历数组。
相反,有一些好的理由不去使用 for in 遍历数组。
注意: JavaScript 中数组不是 关联数组。
JavaScript 中只有对象 来管理键值的对应关系。但是关
http://cyqdata.cn/cnblogs/article-detail-35436
请注意,如果FLASH的ExternalInterface.call无法正常工作,请确认启用了设置 local-trusted 安全沙箱
因在本地做一个FLASH应用,用于随机抽奖之用,所有的奖品剩余量需要在每次抽取后都将剩余量-1,为防止死机,断电等突发状况,我们需要将其保存,但FLASH CS3天生残缺,不能写文件,这直接导致我只能使用它的API----ExternalInterface来调用JS实现保存文件.
实现代码很简单:
FLASH代码片断
import flash.external.ExternalInterface;
http://cyqdata.cn/cnblogs/article-detail-35357
[翻译]JavaScript秘密花园 - scope, namespace, constructor, equality and comparisons
JavaScript Garden - 原文
JavaScript Garden - 中文翻译
作用域与命名空间
尽管 JavaScript 支持一对花括号创建的代码段,但是并不支持块级作用域;
而仅仅支持 函数作用域。
function test() { // 一个作用域 for(var i = 0; i < 10; i++) { // 不是一个作用域&nb
http://cyqdata.cn/cnblogs/article-detail-35326
.NET中的异步编程(四)- IO完成端口以及FileStream.BeginRead
本文首发在IT168 写这个系列原本的想法是讨论一下.NET中异步编程风格的变化,特别是F#中的异步工作流以及未来的.NET 5.0中的基于任务的异步编程模型。但经过三篇文章后很多人对IO异步背后实现的原理以及为什么这样能提高性能很感兴趣。其实我本不想花更多的文字在这些底层实现的细节上,一来我并不擅长这些方面,二来我们使用.NET的异步IO就不需要关心这些底层东西,因为已经为
http://cyqdata.cn/cnblogs/article-detail-35258
[总结]关于Winform下,带CheckBox的TreeView操作技巧
背景
今天,在做一个指纹管理平台的界面上,遇到了一些问题,因为公司的基础库中没有针对Winform平台的操作,所以在一个部门选择的场景中,关于如何获取部门TreeView中被选中的项目被难住了。所幸还有一个神器叫做搜索引擎,故谷歌一番,发现Asp.net下的这个问题很好解决,但是关于Winform平台下的类似问题,如凤毛麟角啊!
当然,今天我也是查了很久,终于发现了两篇不错的文章,帮助我解决了这个
http://cyqdata.cn/cnblogs/article-detail-35139
.Net通用基础框架(.Net Common Infrastructure)-数据访问
IBatis=Internet+aBatis,由于Apache的支持力度不够,项目组在Google Code上另起炉灶,改为MyBatis。和Hibernate相比,IBatis在上手度、系统兼容性、OOA/D要求、Sql监控/优化方面略胜一筹,获得了大多数互联网公司的青睐。唯一不爽的是Java版本很活跃,.Net版本静悄悄。
MyBatisBase基类,支持读写库分离,IBatis在解析Dom
http://cyqdata.cn/cnblogs/article-detail-35132
关于string.Join()的妙用与疑惑
String.Join 在指定 String 数组的每个元素之间串联指定的分隔符 String,从而产生单个串联的字符串。(来源于MSDN)
假设我有一分类表cat,包含id,name列
内容如下:
//id name
//1 随笔
//2 文章
//3 新闻
如果想得到"随笔,文章,新闻"的结果,我会这么写(假设已经取得List<cat>):
http://cyqdata.cn/cnblogs/article-detail-35041
C# 谈谈abstract用法 和一个简单abstract factory
abstract 修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。
抽象类具有以下特性:
抽象类不能实例化。
抽象类可以包含抽象方法和抽象访问器。
不能用 sealed(C# 参考)修饰符修改抽象类,这意味着抽象类不能被继承。
从抽象类派生的非
http://cyqdata.cn/cnblogs/article-detail-35031
关与string.Join()的妙用与疑惑
String.Join 在指定 String 数组的每个元素之间串联指定的分隔符 String,从而产生单个串联的字符串。(来源于MSDN)
假设我有一分类表cat,包含id,name列
内容如下:
//id name
//1 随笔
//2 文章
//3 新闻
如果想得到"随笔,文章,新闻"的结果,我会这么写(假设已经取得List<cat>):
http://cyqdata.cn/cnblogs/article-detail-34993
.Net通用基础框架(.Net Common Infrastructure)-缓存
缓存可以提高网站性能,减轻数据库压力。网站中常用的缓存分为业务数据缓存和页面文件缓存两类,其中业务数据缓存常用AspnetCache,Memcached等,而页面文件缓存常用Squid和Nginx,今天 介绍的内容是业务数据缓存。
Common.Cache类图
缓存接口ICache:使用Add方法时,如果key存在,则返回false。使用Set方法时,key不存在则添加,否则更新。
u
http://cyqdata.cn/cnblogs/article-detail-32778
Silverlight BitmapImage的SetSource(Stream streamSource)致命性错误的解决办法
这段时间做了些silverlight方面的项目,遇到了一些问题,但是磕磕绊绊的还是都解决了。今天先贴一个出来。
当我们用WebClient 从网络上获取图片流然后用BitmapImage绑定到前端的的Image的时候也许会遇到些意想不到的问题。
先给出些示例代码:
1 public MainPage()
2 &nbs
http://cyqdata.cn/cnblogs/article-detail-32733
小议Linux staging tree
2.6.28版本起,内核代码的drivers下增加了一个staging目录,这个目录也是用来存放驱动程序,只是这里的驱动和上层目录的不同,加载的时候内核log会打印如下的语句:
MODULE_NAME: module is from the staging directory, the quality is unknown, you have been warned.
drivers/sta
http://cyqdata.cn/cnblogs/article-detail-32367
[译]Silverlight中TreeView增删改查和拖放
.copy { BORDER-RIGHT: #bcbcbc 1px dashed; PADDING-RIGHT: 4px; BORDER-TOP: #bcbcbc 1px dashed; PADDING-LEFT: 4px; FONT-SIZE: 12px; PADDING-BOTTOM: 4px; MARGIN: 10px; BORDER-LEFT: #bcbcbc 1px dashed; CO
http://cyqdata.cn/cnblogs/article-detail-31714