
C#
文章平均质量分 78
bollaxu
这个作者很懒,什么都没留下…
展开
-
C#的windows services
1. 新建windows services模板,自动生成代码2. 加入自己的代码,一般在OnStart()函数创建一个线程,OnStart()函数会在服务启动的时候执行一次。注意,不要在这个函数里面写循环,会导致启动卡死,代码应写在线程里面3. 添加安装程序,转到设计界面,在右边的属性栏下面应该有一个“命令栏”,如果没有的话可以右键点击属性页(灰色)勾选出命令栏4. 编译代码,...原创 2012-06-22 15:01:12 · 118 阅读 · 0 评论 -
Dependency Injection 依赖注入
先概括Dependency Injection也就是依赖注入:一种设计模式,当类设计中使用到某种其它的类或插件类时,是通过对象引用而不是直接创建对象来实现的,在声明的时候,只需确定接口或者基类就可以了。 引用概念提出者martin fowler的原图,在一种设计模式下,一个类可以在类的定义里面去创建和使用另一个类,例如:这里MovieLister类创建了MovieFinderImp...原创 2012-08-25 14:05:56 · 192 阅读 · 0 评论 -
Inversion of Control(IoC)控制反转
先概括一下Inversion of Control控制反转:是一种设计模式,在依赖关系上进行倒转。具体的体现有“应用程序不应依赖于容器,而是容器服务于应用程序”。 根据Martin Fowler的理解,IoC其实就是框架(framework)和库(library)的区别。库实际意义上就是一系列可用的方法函数,而框架则定义了一些设计模式,比如有如下的ruby代码 #ruby ...原创 2012-08-25 14:25:50 · 245 阅读 · 0 评论 -
C# Reflection 反射
Reflection反射有四种表现方式:1.查看元数据metadata(通过attributes特性表示的),用于显示等2.类型的发现(类型、类型中定义的属性、方法、事件等)3.推迟绑定对象,可以动态实例化对象并调用方法4.动态创建新的类型 类型发现的实例: //读取库Assembly a = Assembly.Load("Mscorlib.dll");//...原创 2012-08-25 16:48:34 · 191 阅读 · 0 评论 -
C# virtual和override
在函数的声明中,当有“virtual”修饰的时候,和没有virtual有什么区别呢?最重要的一点就是调用实例的函数是在编译的时候确定还是在运行的时候确定,virtual函数是在运行的时候来确定具体调用哪个类。这个特性是和父子类继承息息相关的。 这儿有个例子,在网上很多地方被转载,我稍微扩展了一下: using System;namespace Smz.Test{ ...原创 2012-08-27 15:46:23 · 939 阅读 · 0 评论