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();