静态方法中的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();

posted @ 2013-11-01 18:14  双面人3  阅读(511)  评论(0编辑  收藏  举报