摘要:
先看下面的代码:public static class StringExtension{public staticvoid Foo(this string s){Console.WriteLine("Foo invoked for {0}",s);}}为什么这里会有一个this关键字,做什么用?其实这就是扩展方法!这个扩展方法在静态类中声明,定义一个静态方法,其中第一个参数定义可它的扩展类型。Foo()方法扩展了String类,因为它的第一个参数定义了String类型,为了区分扩展方法和一般的静态方法,扩展方法还需要给第一个参数使用this关键字。现在就可以使用带strin 阅读全文
摘要:
一、泛型简介1.1泛型通过使用泛型,可以创建这样的类、接口和方法,它们以一种类型安全的工作方式操作各种数据。本质上,术语“泛型”指的是“参数化类型”(parameterized types)。参数化类型非常重要,因为它们可以在创建类、接口、方法和委托的时候将要操作的数据类型作为参数进行指定。通过泛型,可以创建一个类,使其自动处理不同类型的数据。使用参数化类型的类、接口、方法和委托都可以称为“泛型”。可以通过使用object类型的引用来创建通用的类、接口、方法和委托。但这种方法的缺陷在于,无法保证类型安全。泛型弥补了无法保证类型安全的缺陷,也简化了处理的过程。因为不再需要执行object与实际操 阅读全文