C# 中提供一个非常实用的供能,扩展方法(Extension method)
扩展方法是通过额外的静态方法扩展现有的类型。通过扩展方法,可以对已有类型做自己想做的相关扩展。方法:定义静态类,扩展方法也要是静态方法,并且扩展方法的第一个参数为要扩展的类型,必须附加一个this关键字。
举例如下:
扩展类:
public static class Extend { public static bool IsNullOrEmpty(this object i) { if (i == null) return true; if (i.GetType() == typeof(string)) { string temp = (string)i; return temp.IsNullOrEmpty(); } else return false; } public static Guid ToGuid(this string i) { Guid id; if (!Guid.TryParse(i, out id)) { throw new Exception(i + " can not be converted to Guid"); } return id; } }
扩展方法调用:
public class TestExtend { public void Test() { string i = "this a world for me"; Console.Write(i.ToGuid()); try { Guid guid = i.ToGuid(); Console.Write(guid.ToString()); } catch (Exception ex) { Console.WriteLine(ex.Message); } } }