步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)

[索引页]
[源码下载]


步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)


作者:webabcd


介绍
    ·Automatic Properties(自动属性)
    ·Object Initializers(对象初始化器)
    ·Collection Initializers(集合初始化器)
    ·Extension Methods(扩展方法)


示例
AutomaticProperties.cs(自动属性)
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Data; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Configuration; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Linq; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.Security; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI.WebControls; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI.WebControls.WebParts; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI.HtmlControls; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Xml.Linq; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
/// <summary> 
/// AutomaticProperties(自动属性)的摘要说明 
/// </summary> 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)public class AutomaticProperties 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        public int ID { get; set; } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        // 上面的ID属性(自动属性)等同于下面的ID属性 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        // private int _id; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        // public int ID 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        // { 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        //         get { return _id; } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        //         set { _id = value; } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        // } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)}
 
ObjectInitializers.cs对象初始化器
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Data; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Configuration; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Linq; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.Security; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI.WebControls; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI.WebControls.WebParts; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI.HtmlControls; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Xml.Linq; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
/// <summary> 
/// ObjectInitializers(对象初始化器)的摘要说明 
/// </summary> 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)public class ObjectInitializers 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        public int ID { get; set; } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        public string Name { get; set; } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        public void ObjectInitializersTest() 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        { 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                ObjectInitializers oi = new ObjectInitializers { ID = 1, Name = "webabcd" }; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                // 上面的oi对象(对象初始化器)等同于下面的oi对象 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                // ObjectInitializers oi = new ObjectInitializers(); 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                // oi.ID = 1; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                // oi.Name = "webabcd"; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)}
 
CollectionInitializers.cs集合初始化器
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Data; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Configuration; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Linq; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.Security; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI.WebControls; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI.WebControls.WebParts; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI.HtmlControls; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Xml.Linq; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Collections.Generic; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
/// <summary> 
/// CollectionInitializers(集合初始化器)的摘要说明 
/// </summary> 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)public class CollectionInitializers 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        public int ID { get; set; } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        public string Name { get; set; } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        public void CollectionInitializersTest() 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        { 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                List<CollectionInitializers> list = new List<CollectionInitializers> 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                { 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                        new CollectionInitializers { ID = 1, Name = "webabcd" }, 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                        new CollectionInitializers { ID = 2, Name = "webabcdefg" }, 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                        new CollectionInitializers { ID = 3, Name = "webabcdefghijklmn" } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                }; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                // 上面的list集合(集合初始化器)等同于下面的list集合 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                // List<CollectionInitializers> list = new List<CollectionInitializers>(); 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                // list.Add(new CollectionInitializers { ID = 1, Name = "webabcd" }); 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                // list.Add(new CollectionInitializers { ID = 2, Name = "webabcdefg" }); 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                // list.Add(new CollectionInitializers { ID = 3, Name = "webabcdefghijklmn" }); 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)}
 
ExtensionMethods.cs扩展方法
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Data; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Configuration; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Linq; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.Security; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI.WebControls; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI.WebControls.WebParts; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Web.UI.HtmlControls; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)using System.Xml.Linq; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
/// <summary> 
/// ExtensionMethods 的摘要说明 
/// </summary> 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)public class ExtensionMethods 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        public void ExtensionMethodsTest() 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        { 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                string s = "123"
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                // 使用string的ToInt32()扩展方法 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                int i = s.ToInt32(); 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                // i == 123 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                string[] ary = new string[] { "a""b""c" }; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                // 使用object的In()扩展方法 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                bool b = "b".In(ary); 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                // b == true 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
/// <summary> 
/// 扩展方法(类和方法均为static) 
/// 使用的时候要引用该类的命名空间 
/// </summary> 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)public static class MyExtensionMethods 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        // this代表扩展方法应用于string类型上 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        // ToInt32()是将string类型转换为int类型的扩展方法 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        public static int ToInt32(this string s) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        { 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                int i; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                Int32.TryParse(s, out i); 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                return i; 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        // this代表扩展方法应用于object类型上 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        // 该扩展方法需要一个类型为System.Collections.IEnumerable的参数 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        // In()是判断一个object是否存在于一个System.Collections.IEnumerable中的扩展方法 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        public static bool In(this object o, System.Collections.IEnumerable e) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        { 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                foreach (object i in e) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                { 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                        if (i.Equals(o)) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                        { 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                                return true
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                        } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性) 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)                return false
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)        } 
步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)}
 
 



     本文转自webabcd 51CTO博客,原文链接:http://blog.51cto.com/webabcd/344909,如需转载请自行联系原作者

上一篇:2502 常用正则表达式


下一篇:BIOS和DOS中断处理(1302)