随笔分类 - 再谈CLR 系列
谈谈CLR及其原理
摘要:这一篇文章来谈谈对于WPF应用程序开发中的未捕获异常的处理。 首先,我们当然是要求应用程序开发人员,尽可能地在程序可能出现异常的地方都去捕捉异常,使用try…catch的方式。但是总是有一些意外的情况可能会发生,这就导致会出现所谓的“未捕获异常(UnhandledException)”。对于这一类异常,如果我们没有一个合适的策略进行处理,则当其发生的时候,会给用户带来不太好的使用体验。例如下面这样...
阅读全文
摘要:前言 作为一个程序员,你的相当一部分时间可能会用在调试。不知道大家是否同意,异常处理(Exception Handling)是一个看似简单,但是又极难做好的工作。当然,现在已经有一些业界经验以及框架(例如Enterprise Library中的Exception Handling Application Block)可供参考和使用,这些框架可以帮助我们较为灵活地配置,处理或者记录异常。我今天要跟大...
阅读全文
摘要:这是一个老问题,以前也有朋友写过一些文章介绍,但可能还不是很全面。我也多次被人问到,这里结合案例再次谈谈,希望对大家有所帮助。 本文范例代码可以通过这里下载 http://files.cnblogs.com/chenxizhang/AssemblyMatchDemoSolution.zip 根据程序集的特征,讨论这个问题,我们大致上有两个分类 没有做强名称签名的程序集 对于这种情况,CLR查找和加...
阅读全文
摘要:这是一个小问题,请看下面的代码这样我们就实现了比较了,我们分别对两个object去获取HashCode,这个方法返回的是int,既然是int当然就可以比较了。那么,也就是说其实任何类型都可以通过实现G...
阅读全文
摘要:这是今天课堂上的一个话题。如何定义事件,这好像并不是问题,我们习惯性直接用下面的代码定义,不是吗?这样做的话,大致是会怎么编译呢? 其实编译器会帮我们生成两个方法: add_NameChanging和...
阅读全文
摘要:1.到底什么是值类型,什么是引用类型? 值类型直接或者间接地继承ValueType类型,它包含的类型主要:内置值类型(除string之外的简单类型,如整型--Int32等),自定义值类型(结构体,st...
阅读全文
摘要:这一篇谈谈类型构造的问题。主要针对构造器这个层面进行一些探讨。 1. 有哪几种构造器 默认构造器(无参数) 自定义构造器(有参数) 静态构造器 2.何时调用构造器 通过new关键字创建实例的时...
阅读全文
摘要:本文转载:http://blogs.msdn.com/silverlightshanghai/archive/2009/09/03/net-4-0-mscoree-dll-mscoreei-dll-r...
阅读全文
摘要:depends.exe,原先在vs2005是提供的,但是vs2008中却没有了。下面的网站提供了单独下载 从这个图,更加可以看出来.NET的应用程序对mscoree.dll(.NET Framewor...
阅读全文
摘要:曾经有朋友问到这样的一个问题:我要开发一个能运行在64位机器上的应用程序,是不是应该使用Visual Studio 的64位版本来做? 这是一个似是而非的问题,首先其实Visual Studio 并没...
阅读全文
摘要:CLR的版本问题有点让人迷惑。很多朋友甚至没有意识到这个问题,大家经常看到Framework在变版本,例如我们现在用过的版本有 1.0 1.1 2.0 3.0 3.5 但要注意的是,Framewor...
阅读全文
摘要:这是一个特殊的文件,如果用户的机器安装了.NET Framework ,就有这个文件。它的默认路径在 %systemdrive%\system32 而它就是CLR的运行引擎
阅读全文
摘要:大家可以思考下面的代码有几个问题:1. 这几个方法哪些会发生装箱,哪些不会?2. 他们有什么区别吗?要了解这两点,可以通过下面的图形 所以,答案就是,只有第一种没有发生装箱操作。其他三种都发生了。而后...
阅读全文
摘要:经常被问到这样的问题:值类型能不能按引用传递?传递之后又是什么样的处理方式 当然是可以的,不管是现在还是以前都可以。我们来看看下面两个方法的区别 我们知道int是值类型,在第一个方法中,我们按照默认的...
阅读全文
摘要:上一篇我们提到过程序集引用的问题,通过反编译工具可以很方便地看到他们的引用关系。如下图所示 那么是否有办法在代码中进行查询得到这些信息呢?答案是肯定的,我们可以通过下面的简单代码就实现了 我们主要用到...
阅读全文
摘要:我们一般都知道,.NET Framework的GAC(global assembly cache)其实就是一个特殊的目录,如下图所示 但是它内部到底是什么结构呢? 很奇怪对吧?两个图完全不一样。不要惊...
阅读全文