代码改变世界

一句“.NET技术”代码实现批量数据绑定[下篇]

2011-10-13 19:27 by 狼人:-), 141 阅读, 0 推荐, 收藏,
摘要:《上篇》主要介绍如何通过DataBinder实现批量的数据绑定,以及如何解决常见的数据绑定问题,比如数据的格式化。接下来,我们主要来谈谈DataBinder的设计,看看它是如何做到将作为数据源实体的属性值绑定到界面对应的控件上的。此外,需要特别说明一点:《上篇》中提供了DataBinder最初版本的下载,但已经和本篇文章介绍的已经大不一样了。 最新版本的主要解决两个主要问题:通过Expression Tree的方式进行属性操作(属性赋值和取值),添加了“数据捕捉”(Data Capture)的功能,以实现将控件中的值赋给指定的实体。但是,这并不意味着这就是一个最终版本,这里面依然有一些... 阅读全文

使用WCF实现SOA面向服务编程——使用AJAX+WCF服务“.NET技术”页面开发

2011-10-13 19:27 by 狼人:-), 202 阅读, 0 推荐, 收藏,
摘要:在上一篇讲到,如果将BLL层的每一个类都转化为*.svc,这是一个不实在的想法。它会使服务变化复杂,难于管理。 这时候,我们第一时间想到的是23个简单开发模式中的Factory,在这里,Factory正好派上用场。我们把这个Factory称之为管道(pipeline) ,通过这个管道客户端可以随意调用服务器BLL层里面的类。 (关于管道的概念,建议参考Cory Isaacson的杰作《多核应用架构关键技术—软件管道与soa》) 当你使用B/S方式开发UI层时,只要了解此开发模式,使用Ajax加上WCF里面的WebHttpBinding绑定和WebHttpBehavior行为,... 阅读全文

使用W“.NET技术”CF实现SOA面向服务编程——简单的WCF开发实例

2011-10-13 19:27 by 狼人:-), 242 阅读, 0 推荐, 收藏,
摘要:前面为大家介绍过WCF的特点,现在再讲解一下WCF基础概念。 在WCF里,各个Application之间的通信是由EndPoint来实现的,EndPoint是WCF实现通信的核心要素。一个WCF Service可由多个EndPoint集合组成,每个EndPoint只能有一种绑定,就是说EndPoint就是通信的入口,客户端和服务端通过 EndPoint交换信息。 <service name = " " > < endpoint address = "" binding = " wsHttpBinding " cont 阅读全文

一句代“.NET技术”码实现批量数据绑定[上篇]

2011-10-13 19:27 by 狼人:-), 163 阅读, 0 推荐, 收藏,
摘要:对于一个以数据处理为主的应用中的UI层,我们往往需要编写相当多的代码去实现数据绑定。如果界面上的控件和作为数据源的实体类型之间存储某种约定的映射关系,我们就可以实现批量的数据绑定。为了验证这种想法,我写了一个小小的组件。这个小玩意仅仅是我花了两个小时写的,其中还有很多问题没有解决,比如对于空值的处理,特殊控件属性值的HTML编码问题,以及频繁反射的性能问题,仅仅演示一种解决思路而已。本篇着重介绍如何通过这个组件来解决我们在进行数据绑定过程中的常见问题,下篇会介绍它的设计。[源代码从这里下载] 目录: 一、基于控件ID/实体属性名映射的数据绑定 二、一句代码实现批量数据绑定 三、修正绑定... 阅读全文

Silverlight 2.5D RPG游戏技“.NET技术”巧与特效处理:(九)粒子系统

2011-10-13 19:27 by 狼人:-), 180 阅读, 0 推荐, 收藏,
摘要:粒子系统通常用于三维场景中进行真实环境模拟,比如第四节的天气系统。天气的实现是粒子系统最重要的应用领域之一,所有的一切无论是云、雨、雾,还是落叶、陨石及闪电,都可视作基础粒子;除此之外,游戏中常常还会用到粒子系统来渲染像发光、轨迹等抽象效果。当然,有时简单并不意味着就不能缔造奇迹,比如本节大家将要看到的就是基于简单粒子系统所创建的当下主流2.5D RPG中极其拉风之装备粒子发散动画特效。 一提到Silverlight中的粒子,首先想到的肯定是WriteableBitmap。没错,今天的主角就是它,让人又爱又恨的WriteableBitmap。爱,因为它可以对Silverlight中任... 阅读全文

C“.NET技术”# 中奇妙的函数之ToLookup

2011-10-13 19:27 by 狼人:-), 241 阅读, 0 推荐, 收藏,
摘要:我将和大家一起来学学C#中一些非常有用函数,对于有些人来说可能它们不起眼,因此常常忽略它们。它们不会嚷嚷到:使用我吧!我会让你节省很多的时间,而且让你的代码变得更加的简洁! -- 但是,这些话会从对它们熟悉的程序员的脑海中涌现出来。 好的!先来看看ToLookup: 故事的背景 让我们先来创建一个简单的类来表示产品,产品有ID,类别,和价格,这个类没有什么特别: public sealed class Product { public int Id { get; set; } public string Category { ... 阅读全文

详解.NET程序集“.NET技术”的加载规则

2011-10-13 19:27 by 狼人:-), 142 阅读, 0 推荐, 收藏,
摘要:程序集的加载涉及到很多方面的知识,包括配置文件、全局缓存装配、私有目录等的查找。用LoadAWithPartialName方法加载程序集,必须提供程序集的文本名称,还可以包公钥标记、版本或区域性等,但不必包含完全引用信息,如名称、版本、区域性、公钥标记。 使用(System.Reflection.Assembly.Load)并仅指定部分引用,运行库在全局程序集缓存和应用程序根目录中对程序集进行检查。使用LoadWithPartialName方法并仅指定部分引用,运行库在应用程序目录中和全局程序集缓存中对程序集进行检查。另外,提供部分引用,可在应用程序集的配置文件中提供完全引用的信息。 ... 阅读全文

如何通过ildas“.NET技术”m/ilasm修改assembly的IL代码

2011-10-13 19:27 by 狼人:-), 198 阅读, 0 推荐, 收藏,
摘要:这段时间为跟踪一个Bug而焦头烂额,最后发现是Framework的问题,这让人多少有些绝望。所以到微软论坛提了个帖子,希望能得到些帮助。虽然论坛智能到能够判断楼主是否是MSDN订阅用户,以便尽快解决(传说MSDN订阅用户的问题能在两天内得到回复的,当时还很得意公司为我们购买的MSDN订阅账号),但得到的回复是“Could you file a bug report for this issue through Connect?”,绝望之后的又一次寒心啊。 看过payeasy的广告之后,便有了以下的这些内容,如何修改.net framework: 这里我们以修改Guid类为例,我们将... 阅读全文

Linq“.NET技术”学习笔记

2011-10-13 19:27 by 狼人:-), 160 阅读, 0 推荐, 收藏,
摘要:写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些兴趣,所以打算整理点东西出来跟大家一起做个分享。 什么是Linq LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性。已成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数据,智能感知、静态类型等强类型语言的好处。并且它同时还使得查询可以方便地对内存中的信息进行查询而不仅仅只是外部数据源。 Li... 阅读全文

关于代码规范“.NET技术”

2011-10-13 19:27 by 狼人:-), 199 阅读, 0 推荐, 收藏,
摘要:今天被培训了C#代码规范,为了统一风格。其中我比较有异议的两点如下: 类型实例的私有字段应采用骆驼命名法(camelCasing),不应该有任何前缀,在使用时前边加"this.”; 要用FCL类型而不是C#的基元类型,例如要使用Int32代替int。 首先对于第一点,个人比较习惯的做法是前边加下划线,说不上好坏,这两种写法在各种开源框架的上海企业网站制作源码中都见到过。由于VS默认并不提供像Eclipse那样的对私有字段变色的功能,所以如果只是简单的使用camelCasing的话会很难区分哪些是私有字段,哪些是局部变量,所以才有了加this的要求。那么来做个比较: publi... 阅读全文

为类提“.NET技术”供软件约定

2011-10-13 19:27 by 狼人:-), 197 阅读, 0 推荐, 收藏,
摘要:根据一种很好的旧软件开发做法,应在每个方法的顶部(即实现任何重要行为之前)放置一个条件语句作为屏障。 每个条件语句都检查输入值必须验证的不同条件。 如果条件未通过验证,代码会引发异常。 这种模式通常称为 If-Then-Throw。 但是,有了 If-Then-Throw,我们就可以编写出高效正确的代码吗? 是不是在所有情况下,这都足够了? If-Then-Throw 不是在所有情况下都能解决所有问题,这不是什么新观点。 根据约定设计 (DbC) 是 Bertrand Meyer 几年前提出的方法,这种方法基于这样一种想法,即每个软件都拥有一个正式描述其输入和输出的约定。 If-... 阅读全文

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

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

VS2010“.NET技术”自定义新建文件模版

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

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

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

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

2011-10-13 19:26 by 狼人:-), 180 阅读, 1 推荐, 收藏,
摘要:刚开始学习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对象包含的实际值 这里的s... 阅读全文
上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 312 下一页