C#之扩展方法

为某些类型添加扩展方法,比如C#的数组原先没有Join 把数组拼接成字符串,具体请参考JS的join。

下面代码为 IEnumerable<T>添加 Join, 为Object添加Keys

 

复制代码
public static class Extends
    {
        /// <summary>
        /// 把值类型的数组连接成一个字符串
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="sender"></param>
        /// <param name="join"></param>
        /// <returns></returns>
        public static string Join<T>(this IEnumerable<T> sender, string join = ",")
        {
            return sender.Aggregate("", (s, i) => s + (String.IsNullOrWhiteSpace(s) ? "" : join) + i);
        }

        /// <summary>
        /// 模拟JS的Object.keys
        /// </summary>
        /// <param name="sender"></param>
        /// <returns></returns>
        public static List<MemberInfo> Keys(this Object sender)
        {
            var keys = new List<MemberInfo>();
            var Type = sender.GetType();

            keys.AddRange(Type.GetFields());
            keys.AddRange(Type.GetProperties());
            keys.AddRange(Type.GetMethods());
            return keys;
        }
    }
复制代码

 

 

posted @   EhuanRum  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示