2009年9月20日

永远不会挂的.NET应用

摘要: 原文地址http://www.codeproject.com/Articles/42306/A-NET-Application-that-Never-Dies.aspx如何创建一个永远不会关闭的.NET应用呢?这对于一个只允许用户与预定程序集交互的封闭系统来说是很常见的一种情况。换句话说,用户永远也不能使用操作系统的功能,尤其是,他们不能安装或者更新软件组件。建立一个基于Windows的封闭系统并... 阅读全文

posted @ 2009-09-20 21:38 火柴没帽 阅读(451) 评论(0) 推荐(0) 编辑

2009年9月13日

枚举、标记和C#

摘要: 原文地址:http://www.codeproject.com/Articles/37921/Enums-Flags-and-Csharp-Oh-my-bad-pun.aspx我不知道其他人怎么样,但是我就是喜欢枚举类型。而且,我也喜欢和枚举结合在一起的Flags Attribute(不知道翻成什么好)。本文将探讨配合着扩展方法如何使用二者来使你的代码更紧凑、易懂。如果你从来没有将二者结合起来过,... 阅读全文

posted @ 2009-09-13 12:01 火柴没帽 阅读(374) 评论(0) 推荐(0) 编辑

2009年9月6日

为应用程序添加卸载快捷方式

摘要: 很多时候,我们想给我们应用程序添加一个卸载快捷方式,其实很简单。首先,创建一个安装工程,给主程序新添加一个快捷方式,并重命名为卸载程序,然后在这上面点击鼠标右键,选择属性窗口,为[ProductCode]设置参数属性。然后添加如下代码:[代码]现在编译你的安装工程就OK了。原文地址http://www.codeproject.com/KB/dotnet/youruninstaller.aspx这个... 阅读全文

posted @ 2009-09-06 14:37 火柴没帽 阅读(244) 评论(0) 推荐(0) 编辑

2009年8月30日

.NET Framework中的委托:了解异步委托(我的第一篇博文)

摘要: 委托是.NET框架支持的一种特殊类型。它可以被实例化,并且可以通过任何与方法签名相匹配的目标方法与实例组合形成。C#允许使用 delegate 关键字来创建特殊类,我们称这个特殊类为委托类。这些委托类的实例则被称为委托对象。从概念上来讲,一个委托对象是一个或者多个方法(静态或实例)的引用。因此我们可以像调用一个方法那样,来调用一个委托。这就导致对一个方法的调用,但是需要注意的是,对这些方法的调用是通过调用委托对象的同一个线程来完成的。我们把这个作为一个同步调用。但是,在对一个方法进行同步调用时,调用线程会在调用活动时阻塞。当线程被阻塞时,它可以创建其他的线程,事实上,这个时候,CPU仍有可能处于空闲。因此,新创建的这些线程尽管有可能没有占用CPU,但是他们这是在浪费资源,这是不经济的。当一个线程对一个方法做异步调用时,这个调用能够立即返回。调用线程不会被阻塞,它可以继续做其他的工作。.NET底层结构为这个方法调用生成一个线程并且通过调用代码传递参数。这个异步线程可以在调用线程进行的同时,运行该方法。如果这个方法产生了一些数据并且返回了这些值,那么调用线程必须能够访问这些数据。.NET异 阅读全文

posted @ 2009-08-30 21:11 火柴没帽 阅读(557) 评论(0) 推荐(0) 编辑

导航