C# 如何扩展方法

来源:互联网 发布:百度算法大全 编辑:程序博客网 时间:2024/05/22 05:30

我们在使用.net或第三方类库时,根据业务需要需增加一个函数类处理,但又不想在其他类中调用只想在原有类中调用,又不能直接修改源码,该如何实现呢?这时我们可以用扩展方法实现。

这里我们以在System.String中增加一个将字符串转换为Int32输入的函数为例来讲解如何定义和使用扩展方法

1、自定义一个静态类,类名任意,此处为StringExtand

public static class StringExtand    {        public static int ToInt32(this string str)//关键字this+要扩展对象(可以是.net类库或者第三方类库中的类,自定义类可行)        {            return Convert.ToInt32(str);        }    }

自定义方法第一个参数为关键字this+要扩展的对象类型,后面还可以增加额外参数,即:public static int ToInt32(this string str,string str1,...)

定义完以后,我们就可以在任意String对象中使用ToInt32()方法了

可以看出,使用扩展方法很方便,直接在原有对象上就可以调用。


0 0
原创粉丝点击