随笔分类 -  CLR & C#

规范 :可用性 工作 学习...
摘要:枚举类型是个很不错的机制,灵活使用可以灵活编写代码... ... 工作起来也就轻松许多。 阅读全文
posted @ 2008-10-21 19:36 杰克帝.NET 阅读(1640) 评论(2) 推荐(0)
摘要:当我们需要对已有类的功能进行扩展时,我们通常会想到继承,继承已有类,然后为其加入新的行为。而C# 3.0中加入的扩展方法特性,则提供了另一种实现功能扩展的方式,我们可以在不使用继承的前提下实现对已有类本身的扩展,这种方法并不会产生新的类型,而是采用向已有类中加入新方法的方式来完成功能扩展。 阅读全文
posted @ 2008-10-17 16:47 杰克帝.NET 阅读(595) 评论(0) 推荐(0)
摘要:有些时候我们需要临时保存一些运算的中间结果,特别是当这些中间结果是由多个部份组成时,我们常常会去声明一个新的类型, 以方便保存这些中间结果。表面上看起来这很正常,而细想之后就会发现,这个新类型只服务于这个函数,其它地方都不会再使用它了, 就为这一个函数而去定义一个新的类型,确实有些麻烦。 现在,C#3.0中的匿名类型特性就可以很好的解决上面提到的问题,通过匿名类型,我们可以简单使用 new { 属性名1=值1, 属性名2=值2, ..... , 属性名n=值n } 的形式直接在函数中创建新的类型,{ }是匿名初始化器。 阅读全文
posted @ 2008-10-17 11:00 杰克帝.NET 阅读(475) 评论(1) 推荐(0)
摘要:C# 3新增了关键字“var”。在编译器能明确判断变量的类型时,它允许对本地类型进行推断。然而,对于何时应该使用它却存在某些争论。 阅读全文
posted @ 2008-10-17 10:44 杰克帝.NET 阅读(711) 评论(1) 推荐(0)
摘要:C#编译器玩的一个魔术,对象和集合(泛型)初始化器。这里还有一个NET3.0特性整理的连接:http://www.codeproject.com/KB/cs/csharp3.aspx 阅读全文
posted @ 2008-10-17 10:43 杰克帝.NET 阅读(396) 评论(1) 推荐(0)
摘要:这是笔者在学习的过程中,曾经做的一个使用VSTS 2005 结合数据库库,做的一个Unit Test(单元测试)的Demo,为配合《使用 Visual Studio 2005 Team System 进行单元测试并生成用于 Unit Test Framework 的源代码 详解》理解和应用,整理出来,也为了加强自己的理解,为初学者提供一些资料。 阅读全文
posted @ 2008-08-29 17:19 杰克帝.NET 阅读(2281) 评论(0) 推荐(0)
摘要:使用 Visual Studio 2005 Team System 进行单元测试并生成用于 Unit Test Framework 的源代码的详细过程,你从中可以学习如何使用VSTS进行单元测试。 阅读全文
posted @ 2008-08-20 09:15 杰克帝.NET 阅读(1581) 评论(0) 推荐(0)
摘要:理解与学习,补强与加强 阅读全文
posted @ 2008-08-19 09:08 杰克帝.NET 阅读(445) 评论(0) 推荐(0)
摘要:[前言] 写这篇Post源于我既做过.NET开发又做过J2EE开发的经历。在这样的转变过程中,我对单一平台开发所带来的思维局限性有了很多清晰却零散的想法。在看了振河兄的页面间传递变量的方法及使用范围的讨论之后,我更能体会到在不同的平台进行开发,思维方式会是如此之不同,原来那些零散的想法也随之不断在脑海中涌现,让我有了写下这篇Post的冲动。其实我一直都在宣扬一种观点:技术之间是相通的,精于触类旁通,善于联想是我们程序员应有的优势。我们在专注.NET技术的时候,不妨在工作间隙休息的时候看看.NET外面的世界。 阅读全文
posted @ 2008-08-08 18:25 杰克帝.NET 阅读(387) 评论(0) 推荐(0)
摘要:为获得程序集提供的许多好处,例如,在系统中多个应用程序之间共享,并行版本控制及其对安全型和部署更好的支持等,必须使用强名称程序集。.NET Framework使用强名称来提供唯一标识程序集的方法,允许应用程序与强名称程序集的多个版本一起运行,该强名称程序集的版本是与应用程序一起生成的,而且强名称具有确保程序集的可信性和不会被篡改的特性。 阅读全文
posted @ 2008-08-08 18:12 杰克帝.NET 阅读(1406) 评论(0) 推荐(0)
摘要: ReferenceEquals, == , Equals Equals , == , ReferenceEquals都可以用于判断两个对象的个体是不是相等。 a) ReferenceEquals ReferenceEquals是Object的静态方法,用于比较两个引用类型的对象是否是对于同一个对象的引用。对于值类型它总是返回false。(因为Box以后的对象总是不同的,hehe) b) ==是一个可以重载的二元操作符,可以用于比较两个对象是否相等。 对于内置值类型,==判断的是两个对象的代数值是否相等。它会根据需要自动进行必要的类型转换,并根据两个对象的值是否相等返回true或者false。例如: Int a = 100; Double b =100; If(a == b) Console.WriteLine(“equal supports compare between different types!”); 上面这段程序将会输出: equal supports com 阅读全文
posted @ 2008-08-04 10:55 杰克帝.NET 阅读(4210) 评论(4) 推荐(4)
摘要:公共语言运行库不向该属性附加任何语义。提供它供源代码调试器使用。例如,Visual Studio 2005 调试器在用此属性标记的方法中不停止,但它确实允许在该方法中设置断点。 阅读全文
posted @ 2008-08-04 09:16 杰克帝.NET 阅读(988) 评论(1) 推荐(0)
摘要:表示提供对 XML 数据进行快速、非缓存、只进访问的读取器,即 对 XML 数据流的只进只读访问。XmlReader 类符合 W3C 可扩展标记语言 (XML) 1.0 和“XML 中的命名空间”建议。 XmlReader 在发生 XML 分析错误时引发 XmlException。引发异常后,读取器的状态不可预知。例如,报告的节点类型可能不同于当前节点的实际节点类型。使用 ReadState 属性可以检查读取器是否处于错误状态。 阅读全文
posted @ 2008-07-28 08:40 杰克帝.NET 阅读(2549) 评论(0) 推荐(0)
摘要:最近在忙于Silverlight 上打印功能的实现,采用Report Definition Language(RDL) (一种 SQL Server 基于报表定义规范)。大体情况是:项目中一种原有的数据格式需要转换成一种通用的数据格式,由它来生成生成各种类型的文档(PDF、BMP等)。 阅读全文
posted @ 2008-07-26 11:45 杰克帝.NET 阅读(10126) 评论(0) 推荐(0)
摘要: 今天将.NET反射机制,做了一个简单的总结,做了几个简单的Demo以说明这一机制的应用,主要是为了加强自己的理解,同时希望能带给阅读到的人们一点帮助。 这是.Net中获取 运行时类型信息 的方式,.Net的应用程序由几个部分:'程序集(Assembly)’、'模块(Module)’、'类型(class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息,例如: 通常程序员面试题,有这样关于反射的解释:反射可以动态地创建类型的实例,还可以将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。 Assembly类可以获得正在运行的装配件信息,也可以动态的加载装配件,以及在装配件中查找类型信息,并创建该类型的实例。 Type类可以获得对象的类型信息,此信息包含对象的所有要素:方法、构造器、属性等等,通过Type类可以得到这些要素的信息,并且调用之。 MethodInfo包含方法的信息,通过这个类可以得到方法的名称、参数、返回值等, 阅读全文
posted @ 2008-07-14 11:08 杰克帝.NET 阅读(697) 评论(0) 推荐(0)
摘要:泛型是 C# 2.0 的最强大的功能。通过泛型可以定义类型安全的数据结构,而无须使用实际的数据类型。这能够显著提高性能并得到更高质量的代码,因为您可以重用数据处理算法,而无须复制类型特定的代码。在概念上,泛型类似于 C++ 模板,但是在实现和功能方面存在明显差异。本文讨论泛型处理的问题空间、它们的实现方式、该编程模型的好处,以及独特的创新(例如,约束、一般方法和委托以及一般继承)。 您还将了解在 .NET Framework 的其他领域(例如,反射、数组、集合、序列化和远程处理)中如何利用泛型,以及如何在所提供的基本功能的基础上进行改进 阅读全文
posted @ 2008-07-11 10:18 杰克帝.NET 阅读(635) 评论(0) 推荐(0)
摘要:泛型是 C# 2.0 的最强大的功能。通过泛型可以定义类型安全的数据结构,而无须使用实际的数据类型。这能够显著提高性能并得到更高质量的代码,因为您可以重用数据处理算法,而无须复制类型特定的代码。在概念上,泛型类似于 C++ 模板,但是在实现和功能方面存在明显差异。本文讨论泛型处理的问题空间、它们的实现方式、该编程模型的好处,以及独特的创新(例如,约束、一般方法和委托以及一般继承)。 您还将了解在 .NET Framework 的其他领域(例如,反射、数组、集合、序列化和远程处理)中如何利用泛型,以及如何在所提供的基本功能的基础上进行改进。 阅读全文
posted @ 2008-07-11 09:34 杰克帝.NET 阅读(2711) 评论(0) 推荐(0)
摘要:本文讨论泛型处理的问题空间、它们的实现方式、该编程模型的好处,以及独特的创新(例如,约束、一般方法和委托以及一般继承)。此外,本文还讨论 .NET Framework 如何利用泛型。 阅读全文
posted @ 2008-07-10 18:39 杰克帝.NET 阅读(817) 评论(0) 推荐(0)
摘要:当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承。在下面的示例中,类 B 从类 A 继承,但是任何类都不能从类 B 继承。 阅读全文
posted @ 2008-07-02 08:12 杰克帝.NET 阅读(7423) 评论(3) 推荐(1)