zoukankan      html  css  js  c++  java
  • c# 扩展方法

    演示代码:

    public class Program
        {
            static void Main(string[] args)
            {
                var txt = "hello";
                Console.WriteLine(txt.GetString());
                var inttxt = "123";
                Console.WriteLine(inttxt.GetInt());
                var inttxt1 = "asd";
                Console.WriteLine(inttxt1.GetInt());
                Console.WriteLine("234".GetInt());
                Console.WriteLine("qwe".GetInt());
            }
    
        }
    
        public static class ExString
        {
            public static string GetString(this string source)
            {
                return source + "扩展方法";
            }
    
            public static int GetInt(this string source)
            {
                var outint = 0;
                if (!string.IsNullOrEmpty(source))
                {
                    var result = int.TryParse(source,out outint);
                    return outint;
                }
                return outint;
            }
        }
    

      代码输出:

     演示代码二:

    public class Program
        {
            static void Main(string[] args)
            {
                var test = "dddd";
                Console.WriteLine(test.GetFuncString(x=>x=="123"));
                test = "123";
                Console.WriteLine(test.GetFuncString(x=>x=="123"));
            }
    
    
        }
    
        public static class ExString
        {
    
            public static string GetFuncString(this string source, Func<string, bool> type )
            {
                if (type(source))
                {
                    return "true";
                }
                return source;
            }
        }

    运行结果:

    说明:

    1、扩展方法是属于静态类的静态方法

    2、第一个参数 this关键字,参数类型是需要扩展的类型

  • 相关阅读:
    oracle登录错误(ORA-01033:ORACLE initialization or shutdown in progress
    mssql 判断sql语句的执行效率语句
    关于 knockout js 学习中的疑问 (1)
    JS 根据Url参数名称来获取对应的值 方法封装
    账户
    windows库
    CentOS的Qt3和Qt4问题
    c/c++调用dll
    CentOS 安装g++
    输入法不见了
  • 原文地址:https://www.cnblogs.com/fuyujian/p/4394305.html
Copyright © 2011-2022 走看看