C#特性 学习笔记(对象初始化器 匿名类型 扩展方法)
2012-04-09 14:44
786 查看
对象初始化器
Book book = new Book { Title="Inside COM",ISBN="123-456-789"};
集合初始化器
扩展方法:
1 方法所在的类必须是静态的
2 方法也必须是静态的
3 方法的第一个参数必须是你要扩展的那个类型,比如你要给int扩展一个方法,那么第一个参数就必须是int。
4 在第一个参数前面还需要有一个this关键字。
按照上面的步骤写你就得到了一个“扩展方法”,你可以像调用这个类的原生方法那样去调用它:
实例 :
Book book = new Book { Title="Inside COM",ISBN="123-456-789"};
集合初始化器
IList<Book> books = new List<Book> { new Book { Title = "Inside COM", ISBN = "123-456-789",Price=20 }, new Book { Title = "Inside C#", ISBN = "123-356-d89",Price=100 }, new Book { Title = "Linq", ISBN = "123-d56-d89", Price = 120 } };
匿名类型
在C#里有这样一些类型,它是作为临时储存数据的,生命周期只在这个方法内,方法结束了,这个类型的生命周期也没有了。那么这里我们就可以使用一个匿名类型。扩展方法:
1 方法所在的类必须是静态的
2 方法也必须是静态的
3 方法的第一个参数必须是你要扩展的那个类型,比如你要给int扩展一个方法,那么第一个参数就必须是int。
4 在第一个参数前面还需要有一个this关键字。
按照上面的步骤写你就得到了一个“扩展方法”,你可以像调用这个类的原生方法那样去调用它:
实例 :
public static class PropertyExtension { public static object GetValueByName(this object self, string propertyName) { if (self == null) { return self ; } Type t = self.GetType(); PropertyInfo p = t.GetProperty(propertyName); return p.GetValue(self, null); } }
相关文章推荐
- [C#]C#学习笔记-索引器,指针类型,隐式类型,扩展方法,分部方法,匿名类型
- c#语法糖代码——自动属性, 匿名类型,对象与集合初始化器,扩展方法
- C# 3.0 新特性 学习(二):匿名类型、扩展方法
- C# 3.0 新特性 学习(二):匿名类型、扩展方法
- C#学习笔记-索引器,指针类型,隐式类型,扩展方法,分部方法,匿名类型
- [读书笔记]C#学习笔记五: C#3.0自动属性,匿名属性及扩展方法
- [读书笔记]C#学习笔记五: C#3.0自动属性,匿名属性及扩展方法
- 3、步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- C#中的自动属性、隐式类型var、对象初始化器与集合初始化器、扩展方法
- [读书笔记]C#学习笔记五: C#3.0自动属性,匿名属性及扩展方法
- 谈谈”隐藏类型局部变量、扩展方法、对象与集合初始化器、匿名类型“
- C#学习笔记三: C#2.0泛型 可控类型 匿名方法和迭代器
- [读书笔记]C#学习笔记四: C#2.0泛型 可控类型 匿名方法和迭代器
- C# 3.0 新特性 学习(一):隐式类型化本地变量、自动属性、初始化器(对象初始化器和集合初始化器)
- VS 2008 + .NET 3.5 - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- C#学习笔记四: C#3.0自动属性&匿名属性及扩展方法
- 步步为营VS 2008 + .NET 3.5(3) - C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- [读书笔记]C#学习笔记四: C#2.0泛型 可控类型 匿名方法和迭代器
- C# 3.0新特性之Automatic Properties(自动属性)、Object Initializers(对象初始化器)、Collection Initializers(集合初始化器)和Extension Methods(扩展方法)
- [读书笔记]C#学习笔记四: C#2.0泛型 可控类型 匿名方法和迭代器