雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C#教程

當前位置:主頁 > 軟件編程 > C#教程 >

C#中this用法系列(二) 通過this修飾符為原始類型擴展方法

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C#教程|點擊:

定義一個靜態(tài)類,類中定義靜態(tài)方法,方法中參數(shù)類型前邊加上this修飾符,即可實現(xiàn)對參數(shù)類型的方法擴展

示例如

namespace Demo{
// 這里的類必須為靜態(tài)類
public static class Json
{
     // 方法為靜態(tài)方法    
// this修飾符后邊是string類型,即為string類型擴展出了ToJson方法
public static object ToJson(this string Json)
{
return Json == null ? null : JsonConvert.DeserializeObject(Json);
}
     // this修飾符后邊類型為object,即為object類型擴展出了ToJson方法
public static string ToJson(this object obj)
{
var timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" };
return JsonConvert.SerializeObject(obj, timeConverter);
}
public static string ToJson(this object obj, string datetimeformats)
{
var timeConverter = new IsoDateTimeConverter { DateTimeFormat = datetimeformats };
return JsonConvert.SerializeObject(obj, timeConverter);
}
public static T ToObject<T>(this string Json)
{
return Json == null ? default(T) : JsonConvert.DeserializeObject<T>(Json);
}
public static List<T> ToList<T>(this string Json)
{
return Json == null ? null : JsonConvert.DeserializeObject<List<T>>(Json);
}
public static DataTable ToTable(this string Json)
{
return Json == null ? null : JsonConvert.DeserializeObject<DataTable>(Json);
}
public static JObject ToJObject(this string Json)
{
return Json == null ? JObject.Parse("{}") : JObject.Parse(Json.Replace(" ", ""));
}
}
public class User {
public string ID { get; set; }
public string Code { get; set; }
public string Name { get; set; }
}
class Program
{
static void Main(stringtry
{
List<User> users = new List<User>new User{ID="1",Code="zs",Name="張三"},
new User{ID="2",Code="ls",Name="李四"}
};
// List被擴展出了ToJson方法,用于轉(zhuǎn)化字符串
string json = users.ToJson();
// string類型被擴展出了ToJson方法,用于轉(zhuǎn)化對象
object obj = json.ToJson();
// string類型被擴展出了ToList方法,用于轉(zhuǎn)化List
users = json.ToList<User>();
          
          // string類型轉(zhuǎn)化DataTable
          DataTable dt=json.ToTable();
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
finally
{
Console.ReadLine();
}
}
}
}

以上所述是小編給大家介紹的C#中this用法系列(二) 通過this修飾符為原始類型擴展方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對我們網(wǎng)站的支持!

上一篇:WPF字體或內(nèi)容模糊的解決方法

欄    目:C#教程

下一篇:詳解C# Socket簡單例子(服務器與客戶端通信)

本文標題:C#中this用法系列(二) 通過this修飾符為原始類型擴展方法

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/6142.html

網(wǎng)頁制作CMS教程網(wǎng)絡編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有