靜態方法中的this

1using System;
 2using System.Web.Script.Serialization;
 3
 4namespace Demo
 5{
 6    /**//// <summary>
 7    /// JSON幫助類
 8    /// </summary>
 9    public static class JsonHelper
10    {
11        /**//// <summary>
12        /// 格式化成Json字符串
13        /// </summary>
14        /// <param name="obj">須要格式化的對象</param>
15        /// <returns>Json字符串</returns>
16        public static string ToJson(this object obj)
17        {
18            JavaScriptSerializer serializer = new JavaScriptSerializer();
19            return serializer.Serialize(obj);
20        }
21
22        /**//// <summary>
23        /// 格式化成Json字符串
24        /// </summary>
25        /// <param name="obj">須要格式化的對象</param>
26        /// <param name="recursionDepth">指定序列化的深度</param>
27        /// <returns>Json字符串</returns>
28        public static string ToJson(this object obj, int recursionDepth)
29        {
30            JavaScriptSerializer serializer = new JavaScriptSerializer();
31            serializer.RecursionLimit = recursionDepth;
32            return serializer.Serialize(obj);
33        }
34    }


擴展方法(C# 編程指南)

更新:2007 年 11 月

擴展方法使您可以向現有類型「添加」方法,而無需建立新的派生類型、從新編譯或以其餘方式修改原始類型。擴展方法是一種特殊的靜態方法,但能夠像擴展類型上的實例方法同樣進行調用。對於用 C# 和 Visual Basic 編寫的客戶端代碼,調用擴展方法與調用在類型中實際定義的方法之間沒有明顯的差別。 

類的方法擴展,能夠這樣調用:
object j=new object();
string json=j.ToJson();

擴展 你能夠爲int string 擴展一些方法..

例如

   public static class StringE
    {
        public static int Add(this int p_Int)
        {
            p_Int++;
            return p_Int;
        }
    }

使用的時候你會發現int多了個擴展方法 Add
int a = 0;
int b=a.Add();
相關文章
相關標籤/搜索