你的位置:首页 > 软件开发 > ASP.net > C# 用this修饰符为原始类型扩展方法

C# 用this修饰符为原始类型扩展方法

发布时间:2016-12-02 09:00:10
定义一个静态类,类中定义静态方法,方法中参数类型前边加上this修饰符,即可实现对this所指向类的扩展。有点类似js中通过类的原型去扩展方法,类的实例对象就可以通过对象.方法名去调用示例如   namespace Demo{ // 这里的类必须为静态类 public s ...

定义一个静态类,类中定义静态方法,方法中参数类型前边加上this修饰符,即可实现对this所指向类的扩展。

有点类似js中通过类的原型去扩展方法,类的实例对象就可以通过对象.方法名去调用

示例如  

 

namespace Demo{  // 这里的类必须为静态类  public static class Json  {    // 方法为静态方法        // this修饰符后边是get='_blank'>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("&nbsp;", ""));    }  }  class Program  {    static void Main(string[] args)    {      try      {        List<User> users = new List<User>{          new User{ID="1",Code="zs",Name="张三"},          new User{ID="2",Code="ls",Name="李四"}        };        // List被扩展出了ToJson方法,用于转化json字符串        string json = users.ToJson();        // string类型被扩展出了ToJson方法,用于转化对象        object obj = json.ToJson();        // string类型被扩展出了ToList方法,用于转化List        users = json.ToList<User>();        // string类型转化DataTable        DataTable dt = json.ToTable();      }      catch (Exception ex)      {        Console.WriteLine(ex);      }      finally      {        Console.ReadLine();      }    }  }  public class User  {    public string ID { get; set; }    public string Code { get; set; }    public string Name { get; set; }  }}

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:C# 用this修饰符为原始类型扩展方法

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录