1. 程式人生 > >用this修飾符當做原始型別的擴充套件方法(this ****)

用this修飾符當做原始型別的擴充套件方法(this ****)


重點是寫法: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,還有複雜的寫法,比如擴充套件方法實現中包含繼承自定義特性的方法........