我们在使用.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()方法了
可以看出,使用扩展方法很方便,直接在原有对象上就可以调用。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-21 22:34:46