代码改变世界

随笔分类 -  [13]程序人生

关于Winform下,获取Treeview中CheckBox选中项的“.NET研究”技巧

2011-10-19 19:39 by 狼人:-), 210 阅读, 收藏, 编辑
摘要: 背景 今天,在做一个指纹管理平台的界面上,遇到了一些问题,因为公司的基础库中没有针对Winform平台的操作,所以在一个部门选择的场景中,关于如何获取部门TreeView中被选中的项目被难住了。所幸还有一个神器叫做搜索引擎,故谷歌一番,发现Asp.net下的这个问题很好解决,但是关于Winform平台下的类似问题,如凤毛麟角啊! 当然,今天我也是查了很久,终于发现了两篇不错的文章,帮助我解决了这个问题,不敢独享,结合自己对使用其方法的心得,特意记录下来,并通过一个小例子和大家一起分享。 问题是这样的 有一个部门列表,多级的(或者说无限极),我们在Winform端列出来(这个很简单)后,需要对其 阅读全文

C#中字符“.NET研究”串的内存分配与驻留池

2011-10-19 19:38 by 狼人:-), 273 阅读, 收藏, 编辑
摘要: 刚开始学习C#的时候,就听说CLR对于String类有一种特别的内存管理机制:有时候,明明声明了两个String类的对象,但是他们偏偏却指向同一个实例。如下: String s1 = "Hello";String s2 = "Hello"; //s2和s1的实际值都是Hellobool same = (object) s1 == (object) s2;//这里比较s1、s2是否引用了同一个对象实例//所上海闵行企业网站设计与制作以不能写作bool same = s1 == s2; //因为String类重载了==操作符来比较String对象包... 阅读全文

ASP.NET MVC 3和Razor中的@helper “.NET研究”语法

2011-10-19 19:38 by 狼人:-), 217 阅读, 收藏, 编辑
摘要: ASP.NET MVC 3支持一项名为“Razor”的新视图引擎选项(除了继续支持/加强现有的.aspx视图引擎外)。当编写一个视图模板时,Razor将所需的字符和击键数减少到最小,并保证一个快速、通畅的编码工作流。 与大部分模板的语法不同,在Razor的帮助下,您不需要中断代码编写,仅仅为了在HTML中标注服务器端代码块的开始和结束。代码分析器足够聪明,它能够从你的代码里推断出是否为服务器端代码。这种更加简洁、富有表现力的语法更加干净,输入也更快速,有趣。 今天的博文涵盖了Razor的一项很多人都不知道的功能——利用@helper语法定义可重用的帮助器方法。 简单的 @hel... 阅读全文

“.NET研究”JAVA与.NET的相互调用——利用JNBridge桥接模式实现远程通讯

2011-10-19 19:38 by 狼人:-), 157 阅读, 收藏, 编辑
摘要: 分布式开发的历史 利用Remote方式调用远程对象实现服务器与客户端之间通讯是一种常用的网络开发方式,在.NET与JAVA开发当中,对Remote远程对象早已有着足够的支持(对Remote远程对象调用有兴趣的朋友欢迎参考一下利用远程对象实现分布式开发)。 从2003年开始.NET当中就盛传着.NET Remoting远程对象调用的分布式开发,.NET Remoting主要用于管理跨应用程序域的同步和异步RPC 会话。在默认情况下,Remoting可以使用 HTTP 或 TCP 协议进行信息通讯,并使用 XML 编码的 SOAP 或二进制消息格式进行数据交换。.NET Remot... 阅读全文

JAVA与.NET的相互调用——通过Web服务实现“.NET研究”相互调用

2011-10-19 19:38 by 狼人:-), 226 阅读, 收藏, 编辑
摘要: JAVA与.NET是现今世界竞争激烈的两大开发媒体,两者语言有很多相似的地方。而在很多大型的开发项目里面,往往需要使用两种语言进行集成开发。而很多的开发人员都会偏向于其中一种语言,在使用集成开发的时候对另一种语言感觉到畏惧。在这里在下向各位介绍一下,JAVA与.NET相互调用的例子。下面的介绍主要包括三方面:一是通过常用Web服务进行相互调用,二是使用TCP/IP套接字进行相互调用,三是使用Remote实现远程对象相互调用。 在这章里面先为大家介绍一下最简单,最常用的Web服务相互调用方式。首先说一下Web服务的来源,Web服务是一种新的Web应用程序分支,可以执行从简单的请求到复杂商... 阅读全文

“.NET研究”理解.NET程序集的执行过程

2011-10-19 19:38 by 狼人:-), 121 阅读, 收藏, 编辑
摘要: 对于一个已编译好的.NET程序集,Windows操作系统是如何启动执行的呢?日常使用中我们发现对于托管的和非托管的程序集编译器都会吧程序集编译成上海企业网站制作以.exe或.dll等为扩展名的文件,可见Windows加载器并没有区分是托管还是非托管的程序集,而且我们也知道对非托管的程序集是在编译器直接编译成了机器码,自然可以由CPU直接执行,而托管的.NET 程序集是包含复杂结构的MSIL代码,执行时会使用JIT即时编译器将IL代码编译成机器码,再由CPU执行,当然这期间还需要执行其它许多的工作,如加载CLR、执行初始化等工作,那么这些是怎么自动实现的呢? 理解这些问题是我们深入.N... 阅读全文

Visual Studio 2010 中的代码“.NET研究”约定设置

2011-10-19 19:38 by 狼人:-), 203 阅读, 收藏, 编辑
摘要: 软件约定称为代码约定,通过这一约定可以表示代码正常工作所需的正式条件。 如果方法未按预期收到数据或生成的数据不符合预期的后置条件,代码约定将导致代码引发异常。 有关前置条件和后置条件的概述,您可能需要查看我上个月发表的文章 (msdn.microsoft.com/magazine/gg983479)。 代码约定是 .NET Framework 4 的一部分,但同样依赖于 Visual Studio 2010 中的一些功能,例如运行时工具、与 MSBuild 集成以及“项目属性”框中的属性页。 值得注意的是,仅编写... 阅读全文

《Effective C#中文版:“.NET研究”改善C#程序的50种方法》读书笔记

2011-10-19 19:38 by 狼人:-), 189 阅读, 收藏, 编辑
摘要: 从去年找工作以来,都没什么时间写博客[找工作的体会:建议以后有自己开公司的IT人一定要找IT专业人员做HR,好多公司的HR并不能真正发掘人才,他们形成了太多的偏见,如在学校期间学不了什么东西、只看学校有多少奖励等。真正钻研技术的人才不会追求虚无的东西],其实这本书我都借了好久,一直没有系统的看,所以趁这两天好好看看,顺便总结了一些要点,给那些需要这方面知识而又没有太多时间的IT人一个快速的学习机会。。。。如果要深入学习,请购买该书。 一、用属性代替可访问的字段 1、.NET数据绑定只支持数据绑定,使用属性可以获得数据绑定的好处; 2、在属性的get和set访问器重可使用l... 阅读全文

用C“.NET研究”#实现HTTP协议下的多线程文件传输

2011-10-19 19:38 by 狼人:-), 304 阅读, 收藏, 编辑
摘要: 很多人都有过使用网络蚂蚁或网络快车软件下载互联网文件的经历,这些软件的使用可以大大加速互联网上文件的传输速度,减少文件传输的时间。这些软件为什么有如此大的魔力呢?其主要原因是这些软件都采用了多线程下载和断点续传技术。如果我们自己来编写一个类似这样的程序,也能够快速的在互联网上下载文件,那一定是非常愉快的事情。下面我就讲一讲如何利用C#语言编写一个支持多线程下载文件的程序,你会看到利用C#语言编写网络应程序是多么的容易,从中也能体会到C#语言中强大的网络功能。 首先介绍一下HTTP协议,HTTP亦即Hpyer Text Transfer Protocal的缩写,它是现代互联网上最重要的一... 阅读全文

JAVA与.NET的相互调用——TCP/IP相互调“.NET研究”用基本架构

2011-10-19 19:38 by 狼人:-), 197 阅读, 收藏, 编辑
摘要: TCP/IP套接字的概念 TCP/IP(传输控制协议/网际协议)是网络互连的通信协议,通过它可以实现各种异构网络或异种机之间的互联通信。TCP/IP是Transmission Control Protocol/Internet Protocol的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。TCP/IP 定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。TCP/IP是一个四层的分层体系结构。高层为传输控制协... 阅读全文

C# 中奇妙的函数--联接序列的五种“.NET研究”简单方法

2011-10-19 19:38 by 狼人:-), 196 阅读, 收藏, 编辑
摘要: 今天我们来看看5种使用Linq函数联接序列的方法,这5种方法可以归入下列两类: 同类的联接 Concat() Union() 不同类的联接 Zip() Join() GroupJoin() Concat() – 串联序列 最简单的序列合并,concat仅仅是将第二个序列接在第一个序列后面, 注意:返回的序列并没有改变原来元素的顺序: 1. var healthFoods = new List<string> { "fruits", "vegetables", "grains", "proteins" } 阅读全文

.NET简谈观察者“.NET研究”模式

2011-10-19 19:38 by 狼人:-), 140 阅读, 收藏, 编辑
摘要: 观察者模式想必搞程序开发的都听说过,今天我也来简单的总结一下本人在程序开发过程中是怎么使用观察者模式的;希望给大家带来点新的想法,如果哪位高手看到了也不要嘲笑啊;呵呵,追求技术的人,始终都是为了技术而学技术,目的只有一个,一起追求技术的最高境界。 上海企业网站制作> 观察者模式是设计模式里经常被用到的一种,什么叫观察者模式,字面理解就是一个或多个对象观察某个对象,这种观察是有目的的,当被观察者发生某种事件时,能准确的反馈到外界,通知大家你发上海闵行企业网站制作生了什么;尤其是在今天面向对象编程的不断成熟,什么都讲究抽象,将重复劳动省到最少,方法成员都以类为容器封装;这是一种好的编程规则, 阅读全文

Log“.NET研究”4Net 全方位跟踪程序运行

2011-10-19 19:38 by 狼人:-), 183 阅读, 收藏, 编辑
摘要: 前端日子自己写了一个简单的日志跟踪程序,现在目前正在做的一个项目中使用以便于跟踪程序异常和运行状况,但是被否认了!可能是没有权威性,于是自己总结了一下Log4net日志跟踪系统,这里分享大家学习一下。当然写这个文章的人太多了,这里不是做任何攀比,只是简单的分享供有需要的人。 一. Log4Net 简介 Log4net是 Apache 下一个开放源码的项目,它是Log4j 的一个克隆版。我们可以控制日志信息的输出目的地。Log4net中定义了多种日志信息输出模式。 在做项目的时候令我最头疼的是在程序发布到正式环境之后出现了问题,我们不能调试而且问题很难重新,于是我们需要大量... 阅读全文

.NET :静态类的“.NET研究”理解

2011-10-19 19:38 by 狼人:-), 142 阅读, 收藏, 编辑
摘要: 静态类是一种声明为 static 类型的,且仅包含静态成员的类。不能使用 new 关键字创建静态类的实例。静态类在加载包含该类的程序或命名空间时上海徐汇企业网站制作om'>上海网站建设由 .NET Framework 公共语言运行库 (CLR) 自动加载。 静态类和类成员用于创建无需创建类的实例就能够访问的数据和函数。静态类成员可用于分离独立于任何对象标识的数据和行为:无论对象发生什么更改,这些数据和函数都不会随之变化。当类中没有依赖对象标识的数据或行为时,就可以使用静态类。 静态类的主要特点如下上海企业网站设计与制作: 它们仅包含静态成员。 它们不能被实例化。 它们是密封的。 阅读全文

回顾.NET R“.NET研究”emoting分布式开发

2011-10-19 19:38 by 狼人:-), 166 阅读, 收藏, 编辑
摘要: 记得在下第一次接触.NET Remoting分布式开发是在2003年,那时候是Framework1.0初次亮相之时,Remoting分布式开发是Framework1.0其中一个亮点。经过多年的发展,在2005年,WCF随着Framework2.0首先亮相。WCF是结合Remoting,Web服务,TCP/IP套接字,MSMQ信息,P2P,WSE等多方通讯的混合体。 随着WCF的出现是否意昧着Remoting即将没落,答案是否定的。因为Remoting有其独到之处,在通讯效率,信息交换,安全性等多方面都有其特点,所以在企业内部系统的信息化交换层的开发当中,很多时候会使用Remoting进... 阅读全文

页“.NET研究”面片段缓存(二)

2011-10-19 19:38 by 狼人:-), 136 阅读, 收藏, 编辑
摘要: 在上一篇文章中,我介绍了我们用土法炼钢的方法,使用Velocity提供的自定义标签实现片段缓存。这样的方式虽然也解决了我们的问题,但还是引出了一些bug。而且还有点hack的味道(虽然我喜欢hack)。实际上对于片段缓存,业界有成熟的解决方案,还有一个所谓的W3C标准:ESI(Edge Side Include) 。 ESI本身没有什么,只是一个XML的标签集合。ESI和SSI(Server Side Include)很相似,做过ASP开发的都熟悉这么一个标签: <!--#include src="header.inc" --> 上海闵行企业网站设计与制作nip 阅读全文

页面片段“.NET研究”缓存(一)

2011-10-19 19:38 by 狼人:-), 175 阅读, 收藏, 编辑
摘要: 一般,页面上会分为很多部分,而不同的部分更新的频率是不一样的。如果对整个页面采用统一的缓存策略则不太合适, 而且很多系统的页面左上角都有一个该死的“Welcome XXX”。这种特定于用户的信息我们是不能缓存的。对于这些情况我们就需要使用片段缓存了。对页面不同的部分(片段)施加不同的缓存策略,而要使用片段缓存,首先就得对页面进行切分。土一点的办法可以用iframe,用iframe将页面划分为一块块的,不过我总觉得iframe是个邪恶的东西。好点的办法可以用Ajax单独的请求这个片段的内容然后再填充,看起来挺美好的。不过使用Ajax也有一些限制: 1、如果页面上有许多片段,使用太多的... 阅读全文

.NET“.NET研究”简谈面向接口编程

2011-10-19 19:38 by 狼人:-), 189 阅读, 收藏, 编辑
摘要: 过程式的开发方式已逐渐退出大众的眼线,随之而来的是各种各样的高抽象的开发模式;我们不得不承认在没有设计模式的时候,我们很难总结出有价值的开发模型,便于以后重复使用和推广;面向对象的流行,让我们开发人员重新站在一个高的起点来看待软件模型,抽象固然是好事,但是也给初学者带来了迷惑,将软件中的东西都想成很简单的封装,我们只需要调用就行,这样越来越多的开发人员开始慢慢的往上浮,有一定编程经验和感触的人,能够明白我所说的浮,也算上海闵行企业网站设计与制作是给初学者提个醒吧。 1: 2:  我们将计算机系统抽象层上海徐汇企业网站设计与制作hite;' href='http://www.. 阅读全文

VS20“.NET研究”10自定义新建文件模版

2011-10-19 19:38 by 狼人:-), 163 阅读, 收藏, 编辑
摘要: 不知不觉VS2010已经成为.NET开发人员的必备工具,相比经典版VS2005,到过渡版VS2008,2010在性能稳定性和易用性上都得到很大的提高。 结合VS工具,其下的插件也层出不穷。今天重点给大家介绍如何使用VS2010VS2010自定义新建文件模版,新建文件时,添加个人信息,如:创建者,创建时间等上海徐汇企业网站设计与制作个性化信息。 这样对于具有规定机器的开发人员,对于新建的文件就会自动添加版本,添加人,添加时间等信息。 具体操作如下: 1、打开VS2010安装目录,如:I:\Program Files\Microsoft Visual Studio 10.0\C... 阅读全文

改善代码设计 —— 简化函数调用(Making Method “.NET研究”Calls Simpler)

2011-10-19 19:38 by 狼人:-), 178 阅读, 收藏, 编辑
摘要: 系列博客 1. 改善代码设计 —— 优化函数的构成(Composing Methods) 2. 改善代码设计 —— 优化物件之间的特性(Moving Features Between Objects) 3. 改善代码设计 —— 组织好你的数据(Composing Data) 4. 改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions) 5. 改善代码设计 —— 简化函数调用(Making Method Calls Simpler) 6. 改善代码设计 —— 处理概括关系(Dealing with Generalization... 阅读全文
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 73 下一页