自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(28)
  • 收藏
  • 关注

转载 图解C#的值类型,引用类型,栈,堆,ref,out

C# 的类型系统可分为两种类型,一是值类型,一是引用类型,这个每个C#程序员都了解。还有托管堆,栈,ref,out等等概念也是每个C#程序员都会接触到的概念,也是C#程序员面试经常考到的知识,随便搜搜也有无数的文章讲解相关的概念,貌似没写一篇值类型,引用类型相关博客的不是好的C#程序员。我也凑个热闹,试图彻底讲明白相关的概念。 程序执行的原理 要彻底搞明白那一堆概念及其它们之间的关系...

2013-06-27 17:50:00 287

转载 使用Task简化Silverlight调用Wcf(再续)

上一篇的工具生成方法有个致命缺点:当wcf的参数个数大于或者等于4时,将会报错,因为Task.Factory.FromAsync这个方法最多支持三个参数. 为了解决这个问题,临时的解决办法是配置生成服务引用时选择"始终生成消息合同",如下图. 虽然这样可暂时解决这个问题,但使用有了这个消息合同后使用非常不变,每次调用Wcf方法时总要new一个XXXRequest. 这个版本解决...

2013-04-24 22:08:00 145

转载 逆变与协变详解

逆变(contravariant)与协变(covariant)是C#4新增的概念,许多书籍和博客都有讲解,我觉得都没有把它们讲清楚,搞明白了它们,可以更准确地去定义泛型委托和接口,这里我尝试画图详细解析逆变与协变。 变的概念 我们都知道.Net里或者说在OO的世界里,可以安全地把子类的引用赋给父类引用,例如: //父类 = 子类string str = "string";o...

2013-02-17 23:33:00 263

转载 利用表达式树构建委托改善反射性能

最近搞一个系统时由于在比较关键地方用到反射了,所以要关注了一下反射的性能问题。搜索一下,不难搜到老赵的这篇文章,下面是一些杂乱的笔记。(建议先看老赵的文章) .Net4.0反射性能改善 看老赵的文章,老赵得到的结果是这样的: 00:00:00.0125539 (Directly invoke)00:00:04.5349626 (Reflection invoke)00:00...

2013-02-04 01:02:00 219

转载 使用Task简化Silverlight调用Wcf(续)

上一篇使用Task简化Silverlight调用Wcf介绍了Silverlight下使用Task的一些方法,这篇继续改进一下。 改进生成工具的生成的方法 上次生成的代码如下,这些TaskAsync只是简单的包装一下Wcf的begin和end方法: public Task DoWorkTaskAsync(){ return Task.Factory.FromAsync(...

2013-02-03 00:29:00 87

转载 WCF类型共享技巧

调用过WCF服务的同学可能都会遇到这样的问题,同一个实体类型,不同的服务Visual Studio生成了不同的版本,例如Service1.User和Service2.User,对于C#来说,这是两个不同的类型,Service1获得的User是放不到Service2服务里去的。手动的属性赋值来转换显然是不可取的,所以就共享类型了。 方法1,服务端和客户端共享数据契约程序集。 这个方法最...

2013-01-18 00:32:00 118

转载 jsonp详解

json相信大家都用的多,jsonp我就一直没有机会用到,但也经常看到,只知道是“用来跨域的”,一直不知道具体是个什么东西。今天总算搞明白了。下面一步步来搞清楚jsonp是个什么玩意。 同源策略 首先基于安全的原因,浏览器是存在同源策略这个机制的,同源策略阻止从一个源加载的文档或脚本获取或设置另一个源加载的文档的属性。看起来不知道什么意思,实践一下就知道了。 1.随便建两个网页 ...

2012-12-11 01:08:00 528

转载 使用Task简化Silverlight调用Wcf

从.Net4.0开始,.Net提供了一个Task类来封装一个异步操作,用来简化异步方法的调用。.Net4.5更进一步,添加了async和await两个关键字,异步编程同步化,不用再写一堆散乱的回调或者完成事件处理。Silverlight5开始支持Task类,但是要用await的话就需要编译器的支持,VS2012直接支持,如果是VS2010,那就要安装Async CTP,而Silverli...

2012-12-09 22:40:00 95

转载 Beginning Silverlight 4 in C#-导航

在Silverlight里,导航框架允许开发者在Silverlight应用程序里实现一种方式来跳转到不同的页面,就像网站上的不同页面一样。这个框架也允许开发者创建历史使其与浏览器结合,使用户能使用浏览器的向前和向后导航。 Frame和Page对象 导航框架的两个主要对象是Frame和Page对象。Frame与ASP.NET母版页中的ContentPlaceHolder非常相似,是在一...

2012-05-12 14:22:00 95

转载 Beginning Silverlight 4 in C#-数据访问和网络

Silverlight应用程序的数据访问与传统的应用程序有些区别。你需要搞清楚它的工作原理和它的局限性。这一章,你会看到为什么Silverlight的数据访问与众不同,同时研究Silverlight应用程序的数据访问机制。 Silverlight应用程序的数据访问 就像前面讨论的一样,RIAs消除了Windows-Based的智能客户端与Web-based应用程序的隔阂。当在RIAs...

2012-05-06 15:44:00 94

转载 Beginning Silverlight 4 in C#-Silverlight工具包

参考源码 当第一版本的Silverlight版本发布时,只包含两个控件,TextBlock和Rectangle.Silverlight开发者必须用这两个控件创建其它所有控件.还好,每个版本的Silverlight都添加了大量的新控件.但是有些控件仍然没有包含在Silverlight里. 其中一个例子就是树控件.开发者如果想创建一个使用树的Silverlight应用程序有几个选择,它们自己...

2011-12-28 22:20:00 127

转载 Beginning Silverlight 4 in C#-数据绑定和Silverlight List控件

参考源码 上一篇关注Silverlight包含的表单控件.这一篇,你会看到两个显示列表数据的控件:ListBox和DataGrid.这些是典型的通过数据绑定技术实现绑定数据的控件. 数据绑定 通过数据绑定,UI元素会从数据源中"绑定"数据,就像下图,当数据源改变,UI元素绑定的这些数据会更新已反应数据源的变化.数据可以来自不同类型的源,同时绑定目标也可以是任何UI元素,包括标准的S...

2011-12-18 18:13:00 125

转载 Beginning Silverlight 4 in C#-Silverlight控件

设置控件属性 最简单直接设置属性的方法是使用特性(attribute)句法.但是,在某些情况,只能用元素(element)句法. 特性句法 大部分的属性可以使用特性句法以一个简单的字符串形式表现.在XAML设置一个特性就好像是在XML里设置一个特性.一个XML元素包含一个节点和一些特性.Silverlight控件以相同的方式定义,控件名是节点,属性以特性(attributes)的方...

2011-12-16 02:26:00 110

转载 Beginning Silverlight 4 in C#-Silverlight的布局管理-学习笔记

布局管理 Silverlight提供了一个非常灵活的布局管理系统让你指定控件怎样在你的应用程序中出现.你可以使用静态的布局,也可以使用自适应浏览器的动态的布局. 5个布局控件中,每一个都有优点和缺点,见下面表格: 控件 描述 优点 缺点 Canvas 基于绝对位置的控件 非常简单的控件 需要每个控件都有Canvas.Top和Canvas.Left属性来定义控件在Canvas中的...

2011-12-15 17:47:00 180

转载 Beginning Silverlight 4 in C#-Welcome to Silverlight 4[学习笔记]

Silverlight是什么 就像我上面章节所解析,所有的RIAs有一个相同的特征,一个位于用户与服务之间的客户端运行时.在Microsoft的RIA解决方案中,Silverlight就是这个客户端运行时.尤其,Silverlight是一个可以把用户接口和图形资源插入到HTML页面的跨平台,跨浏览器的插件. 用于定义Silverlight的canvas的markup称为可扩展程序标记...

2011-12-14 18:23:00 97

转载 从属性赋值到MVVM模式详解

示例源码 这两天学习了一下MVVM模式,和大家分享一下,也作为自己的学习笔记.这里不定义MVVM的概念,不用苍白的文字说它的好处,而是从简单的赋值讲起,一步步建立一个MVVM模式的Simple.通过前后对比留给读者自己去思考.我也不知道理解是否正确,有不对的地方,希望指出. 赋值VS绑定 要理解MVVM模式,最重要的是理解绑定的概念.做B/S或者对C/S理解不够的程序员可能不了解"...

2011-11-26 11:45:00 133

转载 不用IDE写C#的Hello World

用 Visual Studio等IDE写C#的Hello World非常简单,但脱离了IDE你能不能打印出Hello World呢?这不是说工作时脱离IDE,而是学习一下CLR的执行模型. Hello World 新建一个记事本,输入如下代码,另存为HelloWorld.txt. using System; namespaceHello...

2011-11-20 13:40:00 75

转载 NHibernate使用无状态Sessions

NHibernate 3.0 Cookbook第三章,Using stateless sessions的翻译. 当要处理大量的数据,你通常可能会使用更"底层"的API来改善性能,在这次处理中很多时候会关闭一些高级特性.在NHibernate中,无状态Session就是高性能,底层的API. 这个文章,我们会使用一个无状态的Session来更新我们的电影价格. 准备 像前面的一样,...

2011-11-19 14:35:00 90

转载 NHibernate使用session.Refresh[翻译]

NHibernate 3.0 Cookbook第三章,使用session.Refresh的翻译. 特别是桌面应用程序,可能有必要用不同的Session重新加载实体以反应最近的变化.这里我们会使用session.Refresh去刷新一个实体的数据,就像被两个Session控制一样. 准备 使用第一章的Eg.Core的model同时使用App.config配置NHibernate,建立...

2011-11-19 02:09:00 106

转载 NHibernate使用session.Merge[翻译]

NHibernate 3.0 Cookbook第三章,使用session.Merge的翻译. session.Merge也许是NHibernate最容易被误解的特性之一.这里我会展示怎么使用一个新的Session的session.Merge来关联一个脏的,游离的实体.这个方法可以非常便利的从StaleObjectStateExceptions中恢复. 准备 使用第一章的Eg.Cor...

2011-11-18 17:51:00 107

转载 Ncqrs Framework Reference[翻译]

原文地址 简介 这个参考解释Ncqrs框架是什么,有什么用和怎么用. Ncqrs是什么 Ncqrs是一个.NET的框架,用于通过支持开发人员应用命令查询职责分离(CQRS)架构模式构建可伸缩,可扩展,可维护的应用程序.它通过提供命令处理和执行,领域建模,事件索源,领域事件,反规范化和事件存储等大部分构建模块实现.这些构建模块帮助你专注于代码和业务逻辑.它支持注释,约定和配置,帮助...

2011-11-17 02:24:00 56

转载 ASP.NET MVC 2 Templates, Part 4: Custom Object Templates[翻译]

原文链接 ASP.NET MVC 2 Templates, Part 1: Introduction[翻译] ASP.NET MVC 2 Templates, Part 2: ModelMetadata[翻译] ASP.NET MVC 2 Templates, Part 3: Default Templates[翻译] 自定义模版 在Part 3,我们看到把内置模版写成.asc...

2011-11-14 14:48:00 96

转载 ASP.NET MVC 2 Templates, Part 3: Default Templates[翻译]

原文链接 ASP.NET MVC 2 Templates, Part 1: Introduction[翻译] ASP.NET MVC 2 Templates, Part 2: ModelMetadata[翻译] 模版解析 在讲解内置模版前,我们需要花几分钟理解模版解析的工作原理,这样你将知道怎么正确重写模版。 路径 当解析一个模版时,系统会迭代几个名字,查找一个匹配的模版.每...

2011-11-14 00:27:00 100

转载 ASP.NET MVC 2 Templates, Part 2: ModelMetadata[翻译]

原文地址 1.ASP.NET MVC 2 Templates, Part 1: Introduction[翻译] 理解你的模型 ModelMetadata是我们介绍的其中一个MVC2的类.这个类被设计来告诉你关于对象中你想用来显示或者编辑的信息.一般我们会在写模版是用到,这个元数据实际上那里都可以用的,即使不在模版中. What is a Model? 当谈到ModelMeta...

2011-11-10 23:13:00 106

转载 ASP.NET MVC 2 Templates, Part 1: Introduction[翻译]

PS:原文链接,英文水平一般,大意翻译,图片为自己做demo时的截图. 模版的简介 ASP.NET MVC 2的一个主要新特性就是Templates(模版). 这个特性与WebForms的动态数据(Dynamic Data)非常相似.一个给定类型的对象,系统可以自动显示或者编辑这个对象,无论是简单的数据(例如整数,小数,字符串)或者是负责的数据(例如一个类). Html.Disp...

2011-11-10 20:23:00 65

转载 NHibernate 3 Beginner's Guide学习笔记-第二章-第一个完整的例子

前言 这一章是一个完整的NHibernate的Simple,原文中用Fluent NHibernate做映射,但我使用NHibernate3.2版本,所以3.2的Conformist代替Fluent NHibernate. 从这里我们将学习到使用NHibernate的一般步骤: 1.定义Model 2.映射Model 3.定义配置 4.1根据配置创建数据库 4.2根据配置B...

2011-11-09 21:18:00 92

转载 说说MVP模式

初看MVP模式时被它复杂的包含,继承,接口搞晕,View中有Presenter,Presenter中又有View,View又要抽象出IView,View又调用Presenter的方法,Presenter又调用IView的方法.花了点时间算是搞明白了,这里说说自己的理解.关于MVP模式文章一搜一大把.建议先看看这些文章.Artcehhttp://www.cnblogs.com/...

2011-06-17 14:05:00 94

转载 Hello Cnblogs

Hello Cnblogs转载于:https://www.cnblogs.com/lemontea/archive/2011/05/17/2048936.html

2011-05-17 15:26:00 67

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除