上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 35 下一页
摘要: 这是一个普遍的问题:如果我们再程序中使用了多线程技术,而工作线程(后台线程)如果需要更新界面上的元素(例如进度条等),就会有一个线程安全性问题,因为进度条是由主线程创建出来的。 关于这一点,大致上看,... 阅读全文
posted @ 2010-03-25 09:44 陈希章 阅读(48840) 评论(15) 推荐(16) 编辑
摘要: 好吧,这是我将WPF与Windows Forms进行比较的系列文章的第四篇,讨论一下如何实现单实例(single instance) 先来看第一种最简单粗暴的做法: 检测进程名,如果名称一样,则表示程序已经启动了,就不再启动.这一种做法的结果与第一种很类似,或者说没有任何区别。看起来解决问题了,但仍然不是很理想的。最好的情况是,当用户开启第二个实例的时候,如果第一个实例没有处于活动状态,则应该激活... 阅读全文
posted @ 2010-03-25 09:44 陈希章 阅读(8976) 评论(0) 推荐(2) 编辑
摘要: 1. 私钥加密:也就是对称加密。这种算法采用同一个密钥(Key)对数据进行加密和解密,虽然可以通过设置初始化向量(IV),但因为在加密方和解密方中需要共享这两部分信息,相对而言,它不够安全。 但一般来... 阅读全文
posted @ 2010-03-24 08:29 陈希章 阅读(10324) 评论(2) 推荐(4) 编辑
摘要: 本文转载自:http://blogs.msdn.com/ericwhite/archive/2008/12/22/convert-xelement-to-xmlnode-and-convert-xml... 阅读全文
posted @ 2010-03-24 07:40 陈希章 阅读(1910) 评论(0) 推荐(0) 编辑
摘要: long long ago,是没有new修饰符的。准确的说,这是C#中的一个修饰符。当年学习c#的时候,就记住了它的作用:在子类中隐藏中父类中的同名成员。 但是,其实这种情况很少,难道不是吗?至少我几... 阅读全文
posted @ 2010-03-23 22:28 陈希章 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 这是是今天课堂上的例子。针对文件的加解密其实与字符串加解密没有大的差别。 阅读全文
posted @ 2010-03-22 20:04 陈希章 阅读(1320) 评论(0) 推荐(0) 编辑
摘要: 这是在课堂上讲解的一个例子,最简单的对称算法,DES关于该算法的一些说明,有兴趣的朋友可以参考下面的链接http://baike.baidu.com/view/7510.htm static void Main(string[] args) { DES des = DES.Create(); des.Key = Convert.FromBase64String("12345678910="); d... 阅读全文
posted @ 2010-03-22 19:50 陈希章 阅读(1357) 评论(0) 推荐(0) 编辑
摘要: 这是今天课堂上的一个话题。如何定义事件,这好像并不是问题,我们习惯性直接用下面的代码定义,不是吗?这样做的话,大致是会怎么编译呢? 其实编译器会帮我们生成两个方法: add_NameChanging和... 阅读全文
posted @ 2010-03-21 20:06 陈希章 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 1.到底什么是值类型,什么是引用类型? 值类型直接或者间接地继承ValueType类型,它包含的类型主要:内置值类型(除string之外的简单类型,如整型--Int32等),自定义值类型(结构体,st... 阅读全文
posted @ 2010-03-21 19:37 陈希章 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 这是昨天课堂上的一个例子。 阅读全文
posted @ 2010-03-21 19:02 陈希章 阅读(1435) 评论(0) 推荐(0) 编辑
摘要: 这是昨天课堂上一个问题,如何读取到计算机上所有证书的信息呢?我们首先来看一下到底有哪些证书 下面的代码可以通过三个循环找到所有的证书 阅读全文
posted @ 2010-03-21 19:02 陈希章 阅读(744) 评论(0) 推荐(0) 编辑
摘要: 这一篇谈谈类型构造的问题。主要针对构造器这个层面进行一些探讨。 1. 有哪几种构造器 默认构造器(无参数) 自定义构造器(有参数) 静态构造器 2.何时调用构造器 通过new关键字创建实例的时... 阅读全文
posted @ 2010-03-21 19:02 陈希章 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 这是今天课堂上一个例子,讲解了如何通过代码方式和声明式的方式检查应用程序的安全性。 阅读全文
posted @ 2010-03-20 18:39 陈希章 阅读(594) 评论(0) 推荐(0) 编辑
摘要: 下面代码演示了如何通过反射技术得到某个类型的所有成员。需要注意的是,默认情况下,GetMembers方式是只能读取公有成员的,如果需要读取所有的成员,则需要用下面的方式 阅读全文
posted @ 2010-03-20 18:18 陈希章 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 这也是今天课堂上的一个简单例子,演示了如何使用LINQ to SQL的技术,以及C# 3的一些新特性 阅读全文
posted @ 2010-03-20 17:42 陈希章 阅读(729) 评论(2) 推荐(0) 编辑
摘要: 这是今天课堂上的一个例子,我们实现了一个简单的SQLServerTraceListener 阅读全文
posted @ 2010-03-20 17:41 陈希章 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 这是今天在课堂上演示的例子代码,自定义身份验证的简单做法是通过GenericPrinciple和GenericIdentity实现,也可以通过自定义Principle和Identity实现。 阅读全文
posted @ 2010-03-20 17:38 陈希章 阅读(758) 评论(0) 推荐(0) 编辑
摘要: 下面的代码演示了如何在程序中读取用户的Windows身份信息 阅读全文
posted @ 2010-03-20 07:52 陈希章 阅读(875) 评论(0) 推荐(0) 编辑
摘要: 本文转载:http://blogs.msdn.com/silverlightshanghai/archive/2009/09/03/net-4-0-mscoree-dll-mscoreei-dll-r... 阅读全文
posted @ 2010-03-19 21:49 陈希章 阅读(1238) 评论(0) 推荐(1) 编辑
摘要: depends.exe,原先在vs2005是提供的,但是vs2008中却没有了。下面的网站提供了单独下载 从这个图,更加可以看出来.NET的应用程序对mscoree.dll(.NET Framewor... 阅读全文
posted @ 2010-03-19 21:33 陈希章 阅读(1301) 评论(0) 推荐(0) 编辑
摘要: 曾经有朋友问到这样的一个问题:我要开发一个能运行在64位机器上的应用程序,是不是应该使用Visual Studio 的64位版本来做? 这是一个似是而非的问题,首先其实Visual Studio 并没... 阅读全文
posted @ 2010-03-19 21:13 陈希章 阅读(622) 评论(0) 推荐(0) 编辑
摘要: CLR的版本问题有点让人迷惑。很多朋友甚至没有意识到这个问题,大家经常看到Framework在变版本,例如我们现在用过的版本有 1.0 1.1 2.0 3.0 3.5 但要注意的是,Framewor... 阅读全文
posted @ 2010-03-19 19:40 陈希章 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 这是一个特殊的文件,如果用户的机器安装了.NET Framework ,就有这个文件。它的默认路径在 %systemdrive%\system32 而它就是CLR的运行引擎 阅读全文
posted @ 2010-03-19 19:34 陈希章 阅读(674) 评论(0) 推荐(1) 编辑
摘要: 大家可以思考下面的代码有几个问题:1. 这几个方法哪些会发生装箱,哪些不会?2. 他们有什么区别吗?要了解这两点,可以通过下面的图形 所以,答案就是,只有第一种没有发生装箱操作。其他三种都发生了。而后... 阅读全文
posted @ 2010-03-19 12:08 陈希章 阅读(580) 评论(0) 推荐(0) 编辑
摘要: 经常被问到这样的问题:值类型能不能按引用传递?传递之后又是什么样的处理方式 当然是可以的,不管是现在还是以前都可以。我们来看看下面两个方法的区别 我们知道int是值类型,在第一个方法中,我们按照默认的... 阅读全文
posted @ 2010-03-19 11:38 陈希章 阅读(633) 评论(0) 推荐(1) 编辑
摘要: 上一篇我们提到过程序集引用的问题,通过反编译工具可以很方便地看到他们的引用关系。如下图所示 那么是否有办法在代码中进行查询得到这些信息呢?答案是肯定的,我们可以通过下面的简单代码就实现了 我们主要用到... 阅读全文
posted @ 2010-03-19 10:26 陈希章 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 我们一般都知道,.NET Framework的GAC(global assembly cache)其实就是一个特殊的目录,如下图所示 但是它内部到底是什么结构呢? 很奇怪对吧?两个图完全不一样。不要惊... 阅读全文
posted @ 2010-03-19 10:05 陈希章 阅读(1866) 评论(3) 推荐(0) 编辑
摘要: 在Windows编程中,我们可能经常需要用到环境变量。它其实相当于是操作系统级别的一个配置文件。 .NET编程中可以很方便地访问到这些环境变量,下面的代码就演示了这个过程 阅读全文
posted @ 2010-03-17 18:03 陈希章 阅读(3378) 评论(0) 推荐(0) 编辑
摘要: 有网友看了我之前喜写的多文件下载的文章,想自己实现一个类似的。但遇到困难。我这里准备了一个可以参考的完整的例子。其实不难,我希望这位朋友还是要把基础功夫学好。 1. 页面2. 代码3. 效果 4.... 阅读全文
posted @ 2010-03-17 11:54 陈希章 阅读(4052) 评论(2) 推荐(1) 编辑
摘要: 这是今天讲课中的一个小例子, 演示了如何添加搜索路径,以便让.NET的应用程序可以搜索到有关的程序集. 因为.NET程序默认只是在自己的根目录和GAC中搜索, 所以添加下面的配置后,就可以实现在plu... 阅读全文
posted @ 2010-03-14 19:14 陈希章 阅读(1898) 评论(1) 推荐(1) 编辑
摘要: 下面代码是今天课程中,有朋友上台做即席演讲时举的一个例子.这个例子不错,概括了动态调用方法的几种情况,包括静态方法,实例方法,方法重载等等 阅读全文
posted @ 2010-03-14 19:06 陈希章 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 本文转载:http://msdn.microsoft.com/zh-cn/library/ms228993.aspx .NET Framework 2.0 版中的新功能之一就是增强的跟踪系统。基本的前... 阅读全文
posted @ 2010-03-14 07:30 陈希章 阅读(653) 评论(2) 推荐(0) 编辑
摘要: 还是那句话,多线程很有用,但并非那么好玩。请使用之前确认你真的掌握了它们 本文请参考:http://msdn.microsoft.com/zh-cn/library/1c9txz50.aspx 有关... 阅读全文
posted @ 2010-03-14 06:18 陈希章 阅读(884) 评论(0) 推荐(0) 编辑
摘要: 默认情况下,在调试状态下我们可以看到下面的效果 这里面的线程中 主线程 不必多说,就是程序的主要工作线程 SystemEvents线程之前探讨过是系统事件触发之后的工作线程 另外几个线程,很奇怪。但... 阅读全文
posted @ 2010-03-13 22:06 陈希章 阅读(1929) 评论(2) 推荐(1) 编辑
摘要: Microsoft.Win32.SystemEvents类型,简单来说,就是提供了让我们程序监控系统事件的能力,可以参考下面的介绍 那么什么是SystemEvents线程呢?就是说,程序开启之后,默... 阅读全文
posted @ 2010-03-13 21:41 陈希章 阅读(1572) 评论(0) 推荐(0) 编辑
摘要: 总结起来说,线程池有如下的特性: 每个进程有一个单独的池,也只有一个 每个池初始的线程数是相当于处理器的数目 每个池默认的最大线程数是处理器数目的25倍 即便所有的线程都不处于空闲状态,但此时又有新... 阅读全文
posted @ 2010-03-13 21:15 陈希章 阅读(1146) 评论(3) 推荐(1) 编辑
摘要: 这也是今天讨论的话题。取消是默认就支持的,而暂停则默认不支持。但通过ManualResetEvent可以对其进行干预。 三。恢复状态 作为演示,代码比较简单,没有对worker的一些状态进行判断以及按... 阅读全文
posted @ 2010-03-13 19:47 陈希章 阅读(12221) 评论(7) 推荐(2) 编辑
摘要: 这也是今天讨论到的一个话题,其实还是比较简单的。因为事件处理程序都是在主线程被执行的,所以主线程肯定是依次执行他们。那么究竟是什么决定了这个顺序呢? 其实要深入看的话,这是因为事件的处理程序是通过一个... 阅读全文
posted @ 2010-03-13 19:15 陈希章 阅读(1014) 评论(1) 推荐(0) 编辑
摘要: 今天在讨论多线程的时候,谈到了这个属性。IsAlive,顾名思义,它表示线程当前是否为可用状态,如果线程已经启动,并且当前没有任何异常的话,则返回true,否则为false 为什么要了解这个属性,是因... 阅读全文
posted @ 2010-03-13 18:49 陈希章 阅读(21387) 评论(1) 推荐(2) 编辑
摘要: 今天在讲到动态执行方法的时候,我们讨论到了Delegate.CreateDelegate的方法。但也有下面这样的一个更加通用的方法:可以执行任何方法,传递任意个数的参数,而无需定义delegate 阅读全文
posted @ 2010-03-13 18:39 陈希章 阅读(524) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 35 下一页