用this修飾符當做原始型別的擴充套件方法(this ****)
阿新 • • 發佈:2019-01-07
方法的實現就省略了....
重點是寫法:a.靜態類 b.靜態方法 c.第一個引數前+this
public static class Test { public static bool Valiate<T>(this T t) //T型別擴充套件bool方法 { return true; } public static string TToString<T>(this T t) { return t.GetType().ToString()+""; } public static string ToJson(this object obj)//object型別擴充套件string方法 { return ""; } }
呼叫擴充套件方法: var abmodel = new Model.Magazine.AdvertBrowser(); abmodel.ToJson(); abmodel.TToString();abmodel.Valiate(); List<TestModel> list = new List<TestModel>(); list.ToJson(); list.TToString(); ......
object obj = new object(); obj.ToJson(); obj.TToString();......
這裡只是簡單的demo,還有複雜的寫法,比如擴充套件方法實現中包含繼承自定義特性的方法........