静态方法中的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();
相关文章
相关标签/搜索