C# 中提供一個很是實用的供能,擴展方法(Extension method)ui
擴展方法是經過額外的靜態方法擴展示有的類型。經過擴展方法,能夠對已有類型作本身想作的相關擴展。方法:定義靜態類,擴展方法也要是靜態方法,而且擴展方法的第一個參數爲要擴展的類型,必須附加一個this關鍵字。this
舉例以下: spa
擴展類:code
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; } }
擴展方法調用:blog
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); } } }