C# 3.0实现类本身的方法扩展
生活随笔
收集整理的這篇文章主要介紹了
C# 3.0实现类本身的方法扩展
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在使用C#縮寫(xiě)代碼的時(shí)候,常常可以用到一些針對(duì)于對(duì)象本身的方法,如以下的代碼:
string str = "strings";
str.ToLower();
.net當(dāng)系統(tǒng)自身提供的方法不夠我們使用的時(shí)候,我們可以針對(duì)某些類的本身進(jìn)行一些方法擴(kuò)展(.net 3.0或更高)。如我們定義一個(gè)Json擴(kuò)展類,用于實(shí)現(xiàn)強(qiáng)類類型與json之間的切換,我們可以在App_Code(或者創(chuàng)建類庫(kù),然后使用命名空間引 入)創(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实现类本身的方法扩展的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Reflector 试用过期后重置试用
- 下一篇: 翻译:如何用Cocos2d来开发简单的I