LinQ 定义带有返回类型的扩展方法3.2
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; using System.Diagnostics; namespace ExtensionWithReturn { class Program { static void Main(string[] args) { var songs = new { Artist = "Green Day", Song = "Wake Me Up When September Ends" }; Console.WriteLine(songs.Dump()); Console.ReadLine(); } } public static class Dumper { public static string Dump(this Object o) { PropertyInfo[] properties = o.GetType().GetProperties(); StringBuilder builder = new StringBuilder(); foreach (PropertyInfo p in properties) { try { builder.AppendFormat(string.Format("Name: {0}, Value: {1}", p.Name, p.GetValue(o, null))); } catch { builder.AppendFormat(string.Format("Name: {0}, Value: {1}", p.Name, "unk.")); } builder.AppendLine(); } return builder.ToString(); } } }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步