1.扩展方法可以扩展类型的功能,但无需修改类型本身,甚至可以使用扩展方法扩展不能修改的类型。
为了扩展类型的功能,需要通过可以通过该类型的实例调用的方法,为此创建的方法称为扩展方法,他可以带任意数量的参数,返回类型。
- 创建一个非泛型静态类
- 使用扩展方法的语法,给创建的类添加扩展方法;
- 通过扩展类型的一个实例调用扩展方法,与调用扩展类型的其他方法一样;
要求如下:
- 方法必须是静态的;
- 方法必须包含一个参数,表示调用扩展方法的类型实例;
- 实例参数必须是为方法定义的第一个参数
- 除了this关键字之外,实例参数不能有其他的修饰符
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ExtensionLib { public static class WordProcessor { private const bool defaultval = false; public static List<string> GetWords( string sentence, bool capitalizwwords = false, bool reverseorder = defaultval, bool reverseWords = false ) { List<string> words = new List<string>(sentence.Split(' ')); return words; } public static string ToStringReversed(this object inputobject) { return inputobject.ToString(); } } class Program { static void Main(string[] args) { string sentence = "can be assigned the values true false or null."; Console.WriteLine(WordProcessor.GetWords(sentence).ToStringReversed()); Console.WriteLine(sentence.ToStringReversed()); Console.ReadLine(); } } }