C# 3.0实现类本身的方法扩展
生活随笔
收集整理的這篇文章主要介紹了
C# 3.0实现类本身的方法扩展
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在使用C#縮寫代碼的時候,常??梢杂玫揭恍┽槍τ趯ο蟊旧淼姆椒?#xff0c;如以下的代碼:
string str = "strings";
str.ToLower();
.net當(dāng)系統(tǒng)自身提供的方法不夠我們使用的時候,我們可以針對某些類的本身進(jìn)行一些方法擴展(.net 3.0或更高)。如我們定義一個Json擴展類,用于實現(xiàn)強類類型與json之間的切換,我們可以在App_Code(或者創(chuàng)建類庫,然后使用命名空間引 入)創(chuàng)建以下類:
using System.Web.Script.Serialization;
public static class JsonHelper
{
??? public static string ToSpan(this string str)
??? {
??????? return string.Format("<li>{0}</li>", str);
??? }
??? public static string ToAnchor(this string str, string url)
??? {
??????? return string.Format("<a href=\"{0}\">{1}</a>", url, str);
??? }
??? public static T JsonToObject<T>(this string str)
??? {
??????? return new JavaScriptSerializer().Deserialize<T>(str);
??? }
??? public static string ToJson(this object obj)
??? {
??????? return new JavaScriptSerializer().Serialize(obj);
??? }
}
調(diào)用的示例:
public class Demo
{
?? public string Id { get; set; }
?? public string Name { get; set; }
}
protected void btnResult_Click(object sender, EventArgs e)
{
??? string json = "{\"Id\":\"1\",\"Name\":\"Tom\"}";;
??? //Demo d = json.JsonToObject<Demo>();
??? //txtOutput.Text = string.Format("Id:{0}\nName:{1}\n", d.Id, d.Name);
??? //txtOutput.Text = json.ToSpan();
????Response.Write( json.JsonToObject<Demo>().Name); // 結(jié)果:Tom
}
轉(zhuǎn)載于:https://www.cnblogs.com/shihao/archive/2011/05/13/2045518.html
總結(jié)
以上是生活随笔為你收集整理的C# 3.0实现类本身的方法扩展的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Reflector 试用过期后重置试用
- 下一篇: c# char unsigned_dll