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 @ 2023-07-09 16:56  EhuanRum  阅读(36)  评论(0)    收藏  举报