用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,还有复杂的写法,比如扩展方法实现中包含继承自定义特性的方法........

猜你喜欢

转载自www.cnblogs.com/leap-li/p/10233550.html