自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(34)
  • 资源 (2)
  • 收藏
  • 关注

原创 给出下面代码的执行结果?

这段代码是有关引用类型和值类型的问题,同时涉及到 Equals, ReferenceEquals 的问题。这个问题如果大家清楚的话,就不难理解我下面要说的一个事情。如果大家仔细研究过 Dictionary,就知道 Dictionary 需要一个 KeyValuePair 作为方法 Add 的参数。那问题是:KeyValuePair 是值类型还是引用类型呢?答案是值类型,这个设计是正确的。

2009-06-06 19:26:00 733

原创 Visual Studio 2010 Beta 1 简介

由于明天 Microsoft 就要公开发布 Visual Studio 2010 Beta 1 了,所以今天我才能把几个星期前安装的 Visual Studio 拿出来给大家做一个介绍。这不会违反 Microsoft Policy。 1、安装 安装过程我就不放图了。主要的变化就是自定义安装界面,默认有“C++ 开发”和“托管代码开发”两个选择;当然,用户也可以自定义安装,单击“自定义”按钮,会

2009-05-20 20:39:00 1008

原创 C# 4.0 新特性 -- 命名参数和可选参数

在 C# 2.0 时代,当我们希望用类似于 C++ 的可选参数为参数指定默认值时,会得到一个编译器错误,指示“不允许参数的默认值”。这个限制是因为在 C# 中,任何地方都引入面向对象思想,所以尽量使用重载而不是可选参数。但在 C# 4.0 中这一点得到了一些改变。 为什么需要开放命名参数和可选参数呢?这也是出于动态语言运行时兼容性的要求。动态语言中存在动态绑定的参数列表,有时候并不是所有的参数值

2009-03-20 12:36:00 6013

原创 正在升级 Visual Studio 2010 SKU

昨天看到内网上的 DevDiv 主页上的 Visual Studio 2010 最近推荐的版本,忍不住下载了一个最新的。不过今天安装完成之后发现了一个问题,就是如果在 Visual Studio 2010 中打开多个文档时(特别是有设计器窗口),会出现屏幕重画功能不正确的问题,看下图。首先启动 Visual Studio 2010,然后在默认开始页打开的前提下,打开对象浏览器。然后用 Ctrl-T

2009-03-19 13:34:00 1644 2

原创 C# 4.0 新特性 -- Contra-Variance

在上面的几篇文章中,我们介绍了有关数组的 Variance、接口和委托的 Covariance 的概念和基本用法。本文介绍在 Variance 上的另外一种情况,即 Contra-variance。 Contra-variance 是一种将泛型类型从大到小转换的场景。 有些时候对于一个泛型委托,我们常常需要对其类型参数 T 进行引用转换,以便于实现 Composite 或者 Facade 模式。

2009-03-17 17:32:00 630

原创 C# 4.0 新特性 -- Covariance 2: 接口和委托的 Covariance

上一篇文章我们介绍了基于数组的 Covariance,数组的 Covariance 是一个隐含的类型转换,但很可惜这个隐含转换并不适用于接口以及委托。如果在接口和委托中存在类型参数,而希望从一个泛型接口转换成另外一个泛型接口,或者委托之间的转换的话,必须要引入泛型接口和委托的 Covariance。 我们说过了,Covariance 允许这样的类型转换:如果存在类 A 和 B,A 是 B 的基类

2009-03-12 20:51:00 824

原创 C# 4.0 新特性 – Covariance 1: 数组 Covariance

重要更新:由于 CSDN Live Writer 发布系统存在严重缺陷,导致将泛型接口误判断为标记,因此本文有一部分内容无法显示。需要阅读本文的读者,请关于 www.markzhou.com,我们尽快为您做镜像。谢谢大家配合! Covariance 是一种运行时类型转换。我们可能会遇到这样的事情,就是在一些使用了泛型的接口或者数组中,即使只有泛型参数的类型不同,这些类型也不能像普通类一样互相转换

2009-03-11 20:50:00 896

原创 C# 4.0 新特性 - 动态查找 (高级)

昨天,我们发表了关于 C# 4.0 中动态查找功能的一些介绍。今天我们来看一些比较奇怪的例子,让大家进一步了解动态查找特性。 将 null 传递给 dynamic 我们来看下面的例子。 1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.T

2009-03-10 21:26:00 901

原创 C# 4.0 新特性 – 动态查找

Visual Studio 2010 已经离我们越来越近,关于 C# 4.0 的 Break Changes 也已经全部成型。在 C# 4.0 发布时,我们将能够看到如下的新特性: 1、动态查找 2、命名参数 3、可选参数和默认值 4、Covariance 和 Contra-variance

2009-03-09 22:16:00 2057 2

原创 Visual Studio 2010 和 .NET Framework 4.0 专题 - 5: Visual Basic 10 的新增功能

Visual Basic 10 概述Visual Studio 2010 和 .NET Framework 4.0 专题的一部分周融,2008 年 10 月概述Microsoft 今年 10 月宣布正式命名下一代开发平台和工具为 Microsoft .NET Framework 4.0 以及 Visual Studio 2010。Visual Studio 2010 先前代号 dev10,

2008-10-30 22:21:00 4371

原创 Visual Studio 2010 和 .NET Framework 4.0 专题 - 4: C# 4.0 对 COM 互操作性的语言改进

大家都知道,Microsoft Office 是基于组件对象模型 (COM) 技术开发的,Visual Studio 提供了面向 Office 编程需要的工具,即 VSTO 以及其运行库,即 VSTO Runtime。但如果您用 C# 编写这类应用程序,会出现一些麻烦,例如 C# 中由于没有可选参数,导致调用一些 COM 方法时,需要指定每一个参数值。最好的例子就是 ExcelApplicatio

2008-10-28 12:57:00 2369 2

原创 Visual Studio 2010 和 .NET Framework 4 专题 - 3: Visual Basic 10 动态接口

接口是我们常用来处理对象之间共有特性的工具。使用接口,我们可以将一些无继承关系的对象联系起来,得到其共有的特性和行为。这也成为一种设计模式“适配器”(Adapter)的核心思想。今天需要和大家分享的是一种动态接口的创新。刚才我们了解到,用接口实现了对共有某些特性的对象之间实现了连接,但有些对象,如派生于远古祖先的两个对象(如从 object 派生的 System.Windows.Forms.C

2008-10-09 12:13:00 2765 4

原创 Visual Studio 2010 和 .NET Framework 4 专题 - 2: C# 4.0 中的动态查找

 我们在编写 C# 程序时,往往需要动态确定某个对象的类型,并调用该类型上的某个特定方法。如我们将一个 string 变量存储在 Session 中,iaoshi要使用这个变量时,由于 Session 的 get 方法只能返回 object,所以如果要调用在 string 上的实例方法时,先要将此 object 转化为 string。如下代码所示。 class Test{ 

2008-10-01 15:57:00 4903 5

原创 Visual Studio 2010 和 .NET Framework 4 专题 - 1: 概述

Microsoft 在 2008 年 9 月 29  日宣布正式为下一代 Visual Studio 和 .NET Framework 命名。其中,Visual Studio 代号“dev10”被命名为 Visual Studio 2010,.NET Framework 被命名为 .NET Framework 4.0。根据现有的资料,Visual Studio 2010 将进一步提高开发人员效率,

2008-10-01 15:05:00 4696 3

原创 应用程序的国际化(1)

谢列文章:应用程序的国际化,第一部分周融,2008 年 5 月版权所有 (C) 2001-2008, 保留所有权利。现代应用程序框架设计中常常需要考虑到国际因素。例如,一个具备规模的企业要求其在各个国家的分支机构使用对应国家/地区语言版本的应用程序以方便员工。这个需求就是最简单的国际化需求。往往在这种大规模的应用程序设计上,国际化是必须而且非常重要的。本文讨论基于 Microsoft .NET

2008-05-29 08:27:00 1052

原创 利用 Sandcastle 编写软件 SDK 文档

利用 SandCastle 编写软件 SDK 文档周融,2007 年 7 月(C) 2001-2007 保留所有权利。一直以来,独立软件开发商 (ISV) 开发的第三方程序集为了简化开发流程,往往会同时提供一套软件开发工具包 (SDK) 和文档库,该文档库包含它们发布的程序集的所有供开发人员使用的类型和模块,并且对如何使用它们做了详细的说明。Microsoft Developer Netw

2007-07-20 14:43:00 4476 1

原创 SQL Server 2008 对 T-SQL 语言的增强

 SQL Server 2008 对 T-SQL 语言的增强周融,2007 年 7 月(C) 2001-2007 All Rights Reserved.Microsoft SQL Server 2008 对 T-SQL 语言进行了进一步增强。为了让开发人员尽快了解这些变化,我们针对 2007 年 6 月 CTP 版本的 SQL Server 2008 中的 T-SQL 语言的新增功能进行了分

2007-07-04 14:03:00 1134 1

原创 AJAX 系列文章(2) - JavaScript 与面向对象技术

AJAX 系列文章(2) - JavaScript 与面向对象技术周融,2007 年 6 月(C) 2001-2007 All Rights Reserved.JavaScript 一直都是方便实用的轻量级脚本语言,它被 B/S 架构的应用程序所采用。在 DHTML 和 JavaScrpt 的配合下,Web 应用程序用户体验更加完善,JavaScript 还是 AJAX 技术的实现基础。本文将

2007-06-05 14:11:00 939

原创 AJAX 系列文章(1):入门

 AJAX 系列文章(1):入门(C) 2001-2007 周融 All Rights Reserved.2006 年 12 月概述AJAX 已经成为 Web 2.0 时代的事实开发标准,大量使用 AJAX 技术的网站出现在了互联网上。连 Live.com 和 Google 都不例外。本文介绍一些 AJAX 的基本知识和实现方法,为以后我公司的产品向 AJAX 技术靠近做好技术储备。本文为 AJA

2007-05-28 09:27:00 870

原创 介绍 C# 中的运算符重载

 介绍 C# 中的运算符重载周融,2007 年 5 月(C) 2001-2007 保留所有权利。重载是面向对象中的一个重要概念,它是对象多态性的一种不完全体现,人们通常所说的重载,往往指的是函数的重载。本文向读者介绍一种新的重载模型——运算符重载。在本文中的内容:1、为什么需要运算符重载2、C# 运算符重载决策示例3、C# 运算符重载一览表4、结论为什么需要运算符重载函数的重载为一

2007-05-13 16:30:00 10116 4

原创 C# 3.5 语言在 Visual Studio Orcas Beta 1 上的新增功能(二)

 C# 3.5 语言在 Visual Studio Orcas Beta 1 上的新增功能周融,2007 年 5 月(C) 2001-2007 保留所有权利。C# 3.0 和 Visual Basic 9.0 在语言上有许多新特性,并完全结合了基于语言的查询综合(Linq, Language Integrated Query)技术。为适应 Linq 技术,这些语言必须有一些变化。本文描述

2007-04-27 11:52:00 3678 1

原创 C# 3.0 语言在 Visual Studio Orcas Beta 1 上的新增功能(一)

 C# 3.5 语言在 Visual Studio Orcas Beta 1 上的新增功能周融,2007 年 5 月(C) 2001-2007 保留所有权利。C# 3.0 和 Visual Basic 9.0 在语言上有许多新特性,并完全结合了基于语言的查询综合(Linq, Language Integrated Query)技术。为适应 Linq 技术,这些语言必须有一些变化。本文描述

2007-04-25 16:45:00 2514

原创 利用反射实现简单 UI 自动化

 利用反射实现简单 UI 自动化周融 (C) 2007 All Rights Reserved.在实现分布式系统设计的过程中,在 UI 设计层往往会遇到这样的问题,我们希望建立一个用户界面工厂,其他开发人员和第三方软件公司的开发人员可以通过这个工厂很容易的产生界面扩充加载项。或者希望不需要写复杂的注册代码,就能够使某一种元数据的继承子类(如某个特定控件所对应的单击命令)自动全部注册到工厂中。本

2007-04-12 15:43:00 1364

原创 浅谈用户界面设计 4 - 标准(下)

 注意:本文出自自己对界面设计的理解和一些应验,谨代表自己和一些微软公司的观点,不妥之处,还请大家批评指正。浅谈用户界面设计第四部分:标准化(下)本文继续讨论 UI 设计标准化的推荐规范。这篇文章将详细列举在标准化设计中使用的容易被开发人员忽略的细节。三、推荐的规范3.1 应用程序1、应用程序应使用能描述其功能的图标。如果有可能,在应用程序的“版本”资源中添加对此程序的描述和版权信息。2、如果应用

2007-04-10 11:07:00 1137

原创 浅谈用户界面设计 3 - 标准(上)

 注意:本文出自自己对界面设计的理解和一些应验,谨代表自己和一些微软公司的观点,不妥之处,还请大家批评指正。浅谈用户界面设计第三部分:标准化(上)用户界面是计算机软件和用户交互的接口,是衡量软件质量的一个重要目标。如何设计出一个好的用户界面,是软件公司和开发人员都必须理解和认识的基本知识。在前面的两篇文章中,我向大家介绍了 UI 的基本知识和交互性的设计规范,这一章我们将进入重点,着重讨论:· 标

2007-04-10 11:06:00 1332 1

原创 浅谈用户界面设计 2 - 交互

意:本文出自自己对界面设计的理解和一些应验,谨代表自己和一些微软公司的观点,不妥之处,还请大家批评指正。浅谈用户界面设计第二部分:交互性用户界面是计算机软件和用户交互的接口,是衡量软件质量的一个重要目标。如何设计出一个好的用户界面,是软件公司和开发人员都必须理解和认识的基本知识。第一部分已经向大家介绍了 UI 的基本知识和衡量标准,在这一部分中,我将介绍如下内容:· 交互性概述· 案例分析· 交互

2007-04-10 11:04:00 1554

原创 浅谈用户界面设计 1 - 概述

注意:本文出自自己对界面设计的理解和一些应验,谨代表自己和一些微软公司的观点,不妥之处,还请大家批评指正。浅谈用户界面设计第一部分:概述用户界面是计算机软件和用户交互的接口,是衡量软件质量的一个重要目标。如何设计出一个好的用户界面,是软件公司和开发人员都必须理解和认识的基本知识。这是本文的第一部分,在这一部分中,我将介绍如下内容:· 什么是用户界面· 什么是用户界面设计· 什么是一个好的用户界面设

2007-04-10 11:02:00 1487 1

原创 用户体验改善计划 – 使用 TaskDialog 代替 MessageBox

 用户体验改善计划 – 使用 TaskDialog 代替 MessageBox周融 © 2007 All Rights Reserved.2007 年 2 月TaskDialog 是 Microsoft® Windows® Vista™ 操作系统中新增的一个用户界面元素,它类似于消息框,可以提示用户进行选择操作,但它比消息框功能更加强大。本文介绍在 Windo

2007-04-10 10:50:00 1967

原创 用户体验改善计划: Office Ribbon(R) 用户界面简介

用户体验改善计划: Office Ribbon(R) 用户界面简介周融,2007 年 3 月自从 Windows 开创经典图形用户界面(GUI)布局后,菜单和工具栏一度成为经典界面布局的代名词。而随着用户界面艺术和软件功能的进步,过多的菜单项和长长的工具栏已经不能满足他们的需要,他们需要一种更能够扩大工作区空间的用户界面。Ribbon 为实现这一切提供了解决方案。本文介绍 2007 Microso

2007-04-10 10:44:00 3926 2

原创 使用 XML 呈现树型结构

使用 XML 呈现树型结构周融,2007 年 1 月(C) 2007 All Rights Reserved.在用户界面设计上,往往会遇到一种树型结构的数据源,在使用传统方法对这种被划分了父子关系的层次型数据源做呈现时,发现很难入手,甚至因为必须使用递归调用而造成整个应用程序的崩溃。本文介绍一种利用 XML 呈现树型结构数据源的方法和一个实例程序,供开发人员参考。本文适用于:Web 用户界

2007-03-08 09:46:00 1878 1

原创 使您的应用程序具备 Windows XP 视觉风格

用户体验改善计划 - 使您的应用程序具备 Windows XP 视觉风格周融,2006 年 12 月(C) 2006 保留所有权利。Windows XP 在市场中的份额居高不下,除了有其强大功能作为保障外,它的美丽的外观则更加引人注目。Windows XP 提供了一种全新的视觉体验,让所有为它设计的应用程序都有了新的界面外观。本文介绍一种让旧视觉样式的应用程序变为 Windows XP 和

2007-03-08 09:45:00 2280

原创 查询综合:下一代编程语言必备功能

查询综合:下一代编程语言必备功能周融,海鼎公司2006年7月现代应用程序需要进行大量的数据访问和操作,包括与数据库的直接交互和对自身数据的访问。本文描述了一种新型的数据访问技术,利用这种技术,开发人员可以方便的在各种数据之间进行访问和查询。正是由于这种技术的高可用性,因而这种技术将被下一代编程语言所采用和发展。简单的例子在应用程序中使用数据的例子多不胜举。这里假设开发人员需要做一个世界

2007-03-08 09:42:00 1365

原创 HOWTO: 如何枚举本地网络中的 SQL Server 服务器

HOWTO: 如何枚举本地网络中的 SQL Server 服务器周融 (C) 2006 保留所有权利。本文内容由于一些软件设计上的需要,开发人员可能需要枚举本地网络中的可用 Microsoft SQL Server 服务器,本文提供了一些快捷的方法和思路,以帮助开发人员有效的提高生产效率。本文所涉及到的内容可能需要开发人员了解一下一部分技术:LAN、域、ActiveX、COM、Wi

2007-03-08 09:39:00 1354

原创 错误和异常:不灭的油灯

错误和异常:不灭的油灯周融(C) 2006 保留所有权利。本文内容在应用程序开发日趋庞大和频繁的 IT 业界,什么东西是永恒的?也许很多人要说是市场,是技术,或者是人力资源。但本文以一种独特的观点向您阐述什么是最终永恒的。您可能无法相信,人们所不希望看到的“错误”变成了 IT 业界永不磨灭的东西,而且,正是有了这个,我们才会把我们的产品做得更好。本文从软件开发的角度,介绍错误和异常

2007-03-08 09:32:00 868

sandcastle_vs2005_zh-CN

本地化的 vs2005 文档样式。

2007-07-20

sandcastle_samplesite

示例文档库站点

2007-07-20

空空如也

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

TA关注的人

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