如何给类型新加方法或者扩展重写原方法,例子给string加一个tolist方法

例子:给string扩展tolist方法,作用:将str按照指定格式分隔
测试效果
在这里插入图片描述

代码——重点扩展什么需要this 类型

   /// <summary>
        /// 判断当前值是否为空
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns></returns>
        public static bool IsNullOrEmpty(this object thisValue) => string.IsNullOrEmpty(thisValue.ObjectToString());

        /// <summary>
        /// 对象转string
        /// </summary>
        /// <param name="thisValue"></param>
        /// <returns></returns>
        public static string ObjectToString(this object thisValue) => thisValue?.ToString()?.Trim() ?? "";

        /// <summary>
        /// 以分割符分割列表
        /// </summary>
        /// <param name="str"></param>
        /// <param name="separator"></param>
        /// <returns></returns>
        public static List<string> ToList(this string str, bool removeEmpty = true, char separator = ',')
        {
    
    
            if (str.IsNullOrEmpty()) return new List<string>();
            return removeEmpty
                ? str.Split(new[] {
    
     separator }, StringSplitOptions.RemoveEmptyEntries).ToList()
                : str.Split(new[] {
    
     separator }).ToList()
                ;
        }

        /// <summary>
        /// 判断list不为null和是否有值
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="list"></param>
        /// <returns></returns>
        public static bool ListAny<T>(this IEnumerable<T> list) => list?.Any() ?? false;

Guess you like

Origin blog.csdn.net/q1923408717/article/details/117038045