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

    用途:在不修改源码的情况下,为某个类增加新的方法。

    注意

    1.C#只支持扩展方法,不支持扩展属性、扩展事件;

    2.方法名无限制,第一个参数必须带this,表示要扩展的类;

    3.定义扩展方法的类必须是静态类;

    4.扩展方法虽然是public的静态方法,但是生成以后是实例方法,使用时需要先实例化对象,通过对象.方法名进行调用扩展方法。 

    /// <summary>

    /// 静态类:对Convert进行扩展,增加一个将string转换成int的方法
    /// </summary>
        public static class ConvertExtension
        {
            /// <summary>
            /// 静态方法:this 表示针对this后面的类型进行扩展
            /// </summary>
            /// <param name="s"></param>
            /// <returns></returns>
            public static int ConvertToInt(this Convert convert,string s)
            {
                int i;
                if (int.TryParse(s, out i))
                {
                    return i;
                }
                else
                {
                    return 0;
                }
            }
        }

    class Program
        {
            static void Main(string[] args)
            {
                //使用扩展方法:扩展方法虽然是public的静态方法,但是生成以后是实例方法, 使用时需要先实例化对象,通过对象.方法名进行调用扩展方法
                //扩展方法所在命名空间和使用代码的命名空间必须相同 扩展方法必须是静态类
                Convert convert = new Convert();
                int i= convert.ConvertToInt("abc");

                Console.WriteLine(i);//输出:0

                //方法2
                int j= ConvertExtension.ConvertToInt(convert, "2");
                Console.WriteLine(j);//输出:2

                Console.ReadKey();
            }
        } 



  • 相关阅读:
    jquery城市选择案例
    jquery点击回到页面顶部方法
    jquery动态创建表格
    myeclipse、eclipse中项目复制后(可能无法访问)注意事项 .
    Myeclipse如何整合tomcat
    Java学习路线图
    ftp
    用javascript实现简体和繁体字间的转换
    FTP远程命令集
    JDBC-ODBC桥乱码问题解决方案
  • 原文地址:https://www.cnblogs.com/ljdong7/p/12558938.html
Copyright © 2011-2022 走看看