摘要: 有一段时间,正则表达式学习很火热很潮流,当时在CSDN一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识,同时也为我在CSDN大概赚了1000分,今天想起来,去找《C#字符串和正则表达式参考手册》时,已经不知所踪了。现在用到正则的时候也比较少,把以前的笔记等整理一下,以志不忘。(1)“@”... 阅读全文
posted @ 2010-09-15 07:21 英雄不问出处 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 今天,花费了一下午事件,终于算是了解了事件的处理机制。在C#中,对于事件的应用其实可以有四个步骤。1.在事件发行者中定义一个事件2.在事件发行者触发事件3.在事件订阅者中处理事件的处理程序4.向事件发行者订阅事件.在C#中事件是经常被用到的一种概念。如果要实现一个事件,首先要有两个对象,一个是触发事件的对象,一个是处理事件的对象。二者通过一个委托被联系在一起一个简单的例子,老公发工资了,老婆、儿子... 阅读全文
posted @ 2010-09-15 06:52 英雄不问出处 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 事件简介:    任何进行过图形用户界面开发的编程人员都会知道事件的概念。当用户在使用程序的时候,用户必然要和程序进行一定的交互。比如当用户点击窗体上的一个按钮后,程序就会产生该按钮被点击的事件,并通过相应的事件处理函数来响应用户的操作。这样用户的直观感觉就是程序执行了我要求的任务了。当然,事件并不一定是在和用户交互的情况下才会产生的,系统的内部也会产生一些事件并请求处理的,比如时钟事件就是一个很... 阅读全文
posted @ 2010-09-15 06:51 英雄不问出处 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 前一章着重介绍了ILGenerator,今天我们就要学习msil指令了,在我们动态创建方法里有一个类里属性都是包含着MSIL指令集,所以了我们只需要掌握了该类的这些字段也就可以使用任何托管的语言进行动态的使用MSIL指令集了。这个类就是System.Reflection.Emit.OpCodes类。该类的MSDN上的介绍是通过 ILGenerator 类成员(例如 Emit)为发出提供 Micro... 阅读全文
posted @ 2010-09-14 18:03 英雄不问出处 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 之前讲过关于如何动态创建和使用程序集、类、方法、字段、属性等两篇文章,第一篇主要讲了介绍动态创建类型的一些基本知识和如何创建程序集、类等,第二篇主要介绍的是如何使用动态创建的程序集,调用动态创建类的方法等的一个完整DEMO。今天讲的其实也是关于在动态创建类型里,如何动态的创建一个较复杂的方法,当然今天这一篇主要着重以介绍如何ILGenerator和一些概念,下一篇就来介绍MSIL指令集。 何为M... 阅读全文
posted @ 2010-09-14 18:01 英雄不问出处 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 上一节讲了如何动态的创建,这一节就要讲创建了我们需要如何使用了,这当然也是非常重要的, 是吧。创建了动态类型但是又不使用,那创建它有什么用了。呵呵,今天我们就来一起学习动态使用动态创建的类型。 当然我们跟上一章一样要对这些动态类型的使用类型进行一些了解。类:使用System.Type(任何时候都是反射出类型进行使用,难道不是吗?)构造函数:System.Reflection.Constructor... 阅读全文
posted @ 2010-09-14 18:00 英雄不问出处 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 有时候在整个项目架构里也需要动态创建程序集的需求,那如何创建程序集呢,请跟我来学习一下吧。   首先需要知道动态创建这些类型是使用的一些什么技术呢?其实只要相关动态加载程序集呀,类呀,都是使用反射,那么动态创建也一样使用的是反射,是属于反射的技术!也就是将对象或者数据映射成一个对象或者程序集保存起来而已。  首先我们需要了解每个动态类型在.net中都是用什么类型来表示的。程序集:System.Re... 阅读全文
posted @ 2010-09-14 17:59 英雄不问出处 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 在C#中,我们要使用反射,主要有三个方面:第一,反射程序集,模块,类的成员以及成员的一些信息;第二,接下来就是动态调用类的成员方法;第三个方面就动态产生程序集,模块和类以及类的成员。我们要使用反射,首先要搞清楚以下命名空间中几个类的关系:System.Reflection命名空间AppDomain:应用程序域,可以将其理解为一组程序集的逻辑容器Assembly:程序集类Module:模块类Type... 阅读全文
posted @ 2010-09-14 17:57 英雄不问出处 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 一、解决方案、项目、程序集、命名空间初学者很容易把这些概念搞混淆。先说说项目(Project),通俗的说,一个项目可以就是你开发的一个软件。在.Net下,一个项目可以表现为多种类型,如控制台应用程序,Windows应用程序,类库(Class Library),Web应用程序,Web Service,Windows控件等等。如果经过编译,从扩展名来看,应用程序都会被编译为.exe文件,而其余的会被编... 阅读全文
posted @ 2010-09-14 17:50 英雄不问出处 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 迭代器概述迭代器是可以返回相同类型的值的有序序列的一段代码。迭代器可用作方法、运算符或 get 访问器的代码体。迭代器代码使用 yield return 语句依次返回每个元素。yield break 将终止迭代。有关更多信息,请参见 yield。可以在类中实现多个迭代器。每个迭代器都必须像任何类成员一样有唯一的名称,并且可以在 foreach 语句中被客户端代码调用,如下所示:foreach(in... 阅读全文
posted @ 2010-09-14 17:42 英雄不问出处 阅读(244) 评论(0) 推荐(0) 编辑