随笔分类 -  C#

基于ASP.NET MVC3 Razor的模块化/插件式架构实现
摘要:本文主要探讨了一种基于ASP.NET MVC3 Razor的模块化(Plugin)/插件(plugin)式架构的实现方法。本文借鉴了《Compile your asp.net mvc Razor views into a seperate dll》作者提供的方法。 项目管家 - 专注于项目管理软件, 阅读全文

posted @ 2012-06-03 18:50 项目管理之家 阅读(9448) 评论(17) 推荐(3)

由c#事件监听、回调函数引发观察者模式
摘要:由c#事件监听、回调函数引发观察者模式事件监听: C#中的事件,可以简单的理解为类或者对象发生了一件事,并且把这件事通知给了其他的类或者对象,其他的类或者对象可以根据事件的消息有所反应。这非常类似设计模式中的观察者模式。 引发事件的类或对象,可以称之为事件源,注册并对处理事件的类或者对象可以称为事件订阅者或者事件监听者,我比较喜欢称之为事件监听者。回调函数: 回调函数就是把一个方法的传给另外一个方法去执行。在C#有很多回调函数,比如异步操作的时候。 把任意一个符合这个委托的方法传递进去,意思就是说这部分代码是可变的。而设计上有一个抽离出可变部分代码的原则,这种用法无疑可以用到那种场合了。... 阅读全文

posted @ 2012-04-11 23:06 项目管理之家 阅读(5687) 评论(1) 推荐(1)

对象序列化Serialization与Deserialize方法进行反序列化
摘要:所谓对象序列化Serialization,是指将对象保存到流Steam中(一般是磁盘文件数据流,可以使对象“永生”),需要时可以从流中重新读取数据重建对象(称为反序列化Deserialization)。(1)定义被序列化的类,即加上[Serializable]属性。如 [SerializableAttribute] public class Student { string name; public string Name { get { return name; } set { name = value; } } public void SayHi() { Console.WriteLine 阅读全文

posted @ 2012-04-02 23:21 项目管理之家 阅读(567) 评论(0) 推荐(0)

C#3.0新特性:扩展方法
摘要:扩展方法其实是C#3.0就引入的语法特性(本人out了)。通过使用扩展方法,可以在不创建新的派生类型、不修改原始类型的源代码的情况下,向现有类型“动态”添加方法。 有如下的原始类型: class MyMath { public int Add(int a, int b) { return a + b; } } 添加“扩展方法” static class MyMathExtend { public static int Sub(this MyMath math, int a, int b) { return a - b; } }调用添加的“扩展方法”: MyMath math = new MyM 阅读全文

posted @ 2012-04-02 23:18 项目管理之家 阅读(164) 评论(0) 推荐(0)

C#4.0 新特性 - 匿名方法,lambds
摘要:匿名方法:Action<string> action = new Action<string>(delegate(string name) { MessageBox.Show("Hello" + name); });action(“aaa”);lambds:Action<string> action = aa => { MessageBox.Show(aa); };action(“aaa”); 阅读全文

posted @ 2012-04-02 23:16 项目管理之家 阅读(205) 评论(0) 推荐(0)

C#4.0 新特性 - 泛型委托,Action,Func用法
摘要://Action 无返回值 执行一个void方法Action<string> myAction;//Func 最后一个参数接受返回值 Func<string, string> myFunc; Action<string> action = new Action<string>(delegate(string name) { MessageBox.Show("Hello" + name); }); private void Button_Click_1(object sender, RoutedEventArgs e) { my 阅读全文

posted @ 2012-04-02 23:03 项目管理之家 阅读(505) 评论(0) 推荐(0)

C#发展的历程C#1.0,C#2.0,C#3.0,C#4.0
摘要:1:C#1.0完全是模仿Java,并保留了C/C++的一些特性如struct,新学者很容易上手2:C#2.0加入了泛型,也与Java1.5的泛型如出一 辙3:C#3.0加入了一堆语法糖,并在没有修改CLR的情况下引入了Linq,简直是神来之笔,虽然很多项目出于各种各样如性能之类的原因没有采用,但非 常适合小型程序的快速开发,减轻了程序员的工作量,也提高了代码的可读性;4:C#4.0增加了动态语言的特性,从里面可以看到很多javascript、 python这些动态语言的影子。虽然越来越偏离静态语言的道路,但从另一个角度来说,这些特性也都是为了提高程序员的生产力。至于被接受与否,还是让时 间来说 阅读全文

posted @ 2012-03-28 21:56 项目管理之家 阅读(1589) 评论(0) 推荐(1)

导航