2012年4月2日

对象序列化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 项目管理之家 阅读(553) 评论(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 项目管理之家 阅读(157) 评论(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 项目管理之家 阅读(200) 评论(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 项目管理之家 阅读(497) 评论(0) 推荐(0) 编辑

泛型接口,泛型委托,泛型方法,泛型约束

摘要: 泛型接口 没有泛型接口,每次试图使用一个非泛型接口(如IComparable)来操纵一个值类型时,都会进行装箱,而且会丢失编译时的类型安全性。这 会严重限制泛型类型的应用。所以,CLR提供了对泛型接口的支持。一个引用类型或值类型为了实现一个泛型接口,可以具体指定类型实参;另外,一个类型也可 以保持类型实参的未指定状态来实现一个泛型接口。来看一些例子: 以下泛型接口定义是作为FCL的一部分发布的:publicinterface IEnumerable<T> : IDisposable, IEnumerator {T Current { get; }}复制代码 下面这个示例实现了上述泛 阅读全文

posted @ 2012-04-02 21:54 项目管理之家 阅读(2357) 评论(0) 推荐(0) 编辑

导航