只贴代码,不解释了。新的代理类型确实很给力!
public static class JsonHelper { public static string ToJsonString<T>(IList<T> list, Func<T, string> fun) { StringBuilder buffer = new StringBuilder(); bool isFirst = true; foreach (T t in list) { if (!isFirst) buffer.Append(","); buffer.Append(fun(t)); isFirst = false; } return buffer.ToString(); } public static string ToJsonString<T>(T t, Func<T, string> fun) { return fun(t); } }