演示代码:
public class Program { static void Main(string[] args) { var txt = "hello"; Console.WriteLine(txt.GetString()); var inttxt = "123"; Console.WriteLine(inttxt.GetInt()); var inttxt1 = "asd"; Console.WriteLine(inttxt1.GetInt()); Console.WriteLine("234".GetInt()); Console.WriteLine("qwe".GetInt()); } } public static class ExString { public static string GetString(this string source) { return source + "扩展方法"; } public static int GetInt(this string source) { var outint = 0; if (!string.IsNullOrEmpty(source)) { var result = int.TryParse(source,out outint); return outint; } return outint; } }
代码输出:
演示代码二:
public class Program { static void Main(string[] args) { var test = "dddd"; Console.WriteLine(test.GetFuncString(x=>x=="123")); test = "123"; Console.WriteLine(test.GetFuncString(x=>x=="123")); } } public static class ExString { public static string GetFuncString(this string source, Func<string, bool> type ) { if (type(source)) { return "true"; } return source; } }
运行结果:
说明:
1、扩展方法是属于静态类的静态方法
2、第一个参数 this关键字,参数类型是需要扩展的类型