2013年3月26日

通过泛型参数实现接口注入

摘要: public interface ITimeProvider { DateTime CurrentDate { get; } } public class TimeProvider : ITimeProvider { public DateTime CurrentDate { get { return DateTime.Now; } } } //下面实现这个Assembler public class Assembler { static Dictionary<Type, Type> dictio... 阅读全文

posted @ 2013-03-26 21:55 HOT SUMMER 阅读(782) 评论(0) 推荐(0) 编辑

接口注入

摘要: public interface ITimeProvider { DateTime CurrentDate { get; } } public interface IobjectWithTimeProvider { ITimeProvider TimeProvider { get; set; } } public class TimeProvider : ITimeProvider { public DateTime CurrentDate { get { return DateTime.Now; } } ... 阅读全文

posted @ 2013-03-26 21:40 HOT SUMMER 阅读(470) 评论(0) 推荐(0) 编辑

设值注入

摘要: namespace Setter{ public interface ITimeProvider { DateTime CurrentDate { get; } } public class TimeProvider : ITimeProvider { public DateTime CurrentDate { get { return DateTime.Now; } } } public class Assembler { static Dictionary<Type, Type> dictionary... 阅读全文

posted @ 2013-03-26 21:29 HOT SUMMER 阅读(196) 评论(0) 推荐(0) 编辑

构造注入

摘要: 这种方式就是在构造函数时候注入类型直接看例子 public interface ITimeProvider { DateTime CurrentDate { get; } } public class TimeProvider : ITimeProvider { public DateTime CurrentDate { get { return DateTime.Now; } } } public class Assembler { static Dictionary<Type, Type> dictiona... 阅读全文

posted @ 2013-03-26 21:19 HOT SUMMER 阅读(181) 评论(0) 推荐(0) 编辑

依赖注入

摘要: 定义:开发过程中,如果客户端程序依赖某个对象,我们常常对它进行一次抽象,形成抽象类,接口,这样客户端就可以摆脱锁依赖的具体类型。其实也是里氏替换原则和依赖倒置原则废话不说先看一个例子public interface ITimeProvider { DateTime CurrentDate { get; } } public class TimeProvider : ITimeProvider { public DateTime CurrentDate { get { return DateTime.Now; } } } //客户端... 阅读全文

posted @ 2013-03-26 20:49 HOT SUMMER 阅读(210) 评论(0) 推荐(0) 编辑

C#操作配置文件

摘要: 我一般写ini,很少直接操作config,以后还是多按照微软的方式来,下次使用心得贴上与大家一起共享,以下来自网络说了对配置文件的修改,基本上都已经是全部了,后来也补充了SingleTagSectionHandler的访问,现在把对SingleTagSectionHandler的写以及一些能偷懒的方法一起说下,希望大家有好东西都能够分享下,有时用到了,就是好东西,不用到就当作是学习吧提供二个访问配置文件的静态方法 /// <summary> /// 打开默认的配置文件.exe.config /// </summary> /// <returns></r 阅读全文

posted @ 2013-03-26 16:40 HOT SUMMER 阅读(291) 评论(0) 推荐(0) 编辑

补充两篇配置文件操作选自网络

摘要: C# 配置文件读取与修改配置文件在很多情况下都使用到, 配置文件分为两种 一种是应用程序的配置文件, 一种是web的配置文件.两种配置文件最大的区别是web的配置文件更新之后会实时更新, 应用程序的配置文件不会实时更新.更新应用程序的配置文件之后需刷新ConfigurationManager.RefreshSection("appSettings");// 刷新命名节,在下次检索它时将从磁盘重新读取它。ConfigurationSettings也存在这个问题, 但是我还不知道怎么刷新节点, 呵呵.旧方法: 各位看官最好使用下面”新方法”配置文件:<configurat 阅读全文

posted @ 2013-03-26 16:36 HOT SUMMER 阅读(217) 评论(0) 推荐(0) 编辑

将一些类型设计成集合模式

摘要: 直接贴代码,注意里面string.Join这个方法以前没注意,不错,不过4.0才支持ienumber类型,3.5之下运行会报错,看来4.0更加成熟点public class ErrorEntity { IList<string> messages = new List<string>(); public static ErrorEntity operator +(ErrorEntity entity, string message) { entity.messages.Add(message); ret... 阅读全文

posted @ 2013-03-26 16:13 HOT SUMMER 阅读(163) 评论(0) 推荐(0) 编辑

泛型的一些补充

摘要: 1.where T:a||b 表名该算法适用于实现接口A或接口B的类型2.Where T:A && B 表名该算法使用与同时实现了接口A和接口B的类型待续,改天补上这些知识 attrubt 与操作符重载 阅读全文

posted @ 2013-03-26 13:47 HOT SUMMER 阅读(116) 评论(0) 推荐(0) 编辑

关于抽象工厂的一些理解

摘要: 抽象工厂最大限度的让代码重复使用,其实也是设计模式中的模板模式,好了至此我们学习了两种了,一种是接口,一种是抽象工厂,二者结合起来更好,关于前面的代理,数据集扩展还有lanm表达式的一些应用,代理,事件,等应用场合,打码简洁性等,我花一段时间来让自己的知识更加系统化,也算对以前知识的一些总结,和自己认为一些比较重要的例子看代码 public class RowGenericFactroy<T> { public T Create(string typename) { if(string.IsNullOrEmpty(typename)) ... 阅读全文

posted @ 2013-03-26 13:14 HOT SUMMER 阅读(219) 评论(0) 推荐(0) 编辑

关于事件

摘要: 同样,在接下来一段时间设计模式暂时先不设计,我先说些我对C#一些相关知识的理解,事件的应用,在真正做开发,特别是多人协作,第三方等那么代理需要人家按照一定的格式来,如果采用事件的话,第三方无需按照格式便可以直接调用,那么是不是更省事,也符合设计模式的开闭原则看代码public class EventMonintor { public static EventHandler<EventArgs> Modify; public static EventHandler<EventArgs> Added; //静态构造函数与一般构造函数区别 ... 阅读全文

posted @ 2013-03-26 11:39 HOT SUMMER 阅读(155) 评论(0) 推荐(0) 编辑

C#代理

摘要: 虽然说的是设计模式,但是还是要补充一些知识,虽然基本用法我们都懂,但是个人觉得下面的例子更为精彩直接看代码 public delegate void StringAssignmentEventHandler(); public class InvokeList { List<StringAssignmentEventHandler> handlers; string[] message = new string[3]; public InvokeList() { handlers = new List<S... 阅读全文

posted @ 2013-03-26 10:55 HOT SUMMER 阅读(315) 评论(0) 推荐(0) 编辑

导航