今天继续分享C#4.0语法糖的扩展方法,这个方法也是我本人比较喜欢的方法。大家先想想比如我们以前写的原始类型不能满足现在的需求,而需要在该类型中添加新的方法来实现时大家会怎么做。我先说一下我没有学习到这个知识点之前做的方法:
最笨的办法就是修改原来的类型,然后添加一个方法来达到需求的变更,如下代码所示:
1 public class KuozFF
2
3 {
4
5 public void NormalMethod()
6
7 {
8
9 Console.WriteLine("我是原始方法");
10
11 }
12
13 public void ExtensionMethod()
14
15 {
16
17 Console.WriteLine("我是扩展方法");
18
19 }
20
21 }
调用方法:
1 KuozFF method=new KuozFF ();
2
3 method.NormalMethod();
4
5 method.ExtensionMethod();
6
7 Console.ReadLine();
输出效果如下:
aaarticlea/png;base64,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" alt="" />
但是比如说别人给你的是一个dll文件,你没有办法修改,但是你想在该类中添加你的方法怎么办?
自己写一个类,然后该类继承自原始类,代码如下:
1 public class KuozFF
2
3 {
4
5 public void NormalMethod()
6
7 {
8
9 Console.WriteLine("我是原始方法");
10
11 }
12
13
14
15 }
16
17
18
19 public class MYKZFF : KuozFF
20
21 {
22
23 public void ExtensionMethod()
24
25 {
26
27 Console.WriteLine("我是扩展方法");
28
29 }
30
31 }
调用代码如下:
1 MYKZFF method=new MYKZFF();
2
3 method.NormalMethod();
4
5 method.ExtensionMethod();
6
7 Console.ReadLine();
效果如下:
aaarticlea/png;base64,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" alt="" />
以上结果可以看出效果是一样的,但是有的人他不想写继承类,也不想修改源代码怎么办?这时候就扩展方法诞生了!我先看看官方解释吧:
扩展方法:使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。 对于用 C# 编写的客户端代码,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异
这是微软MSN上的解释,我们直接看代码,扩展方法是长什么样吧:
1 public class KuozFF
2
3 {
4
5 public void NormalMethod()
6
7 {
8
9 Console.WriteLine("我是原始方法");
10
11 }
12
13
14
15 }
16
17
18
19 public static class ExtensionClass
20
21 {
22
23 public static void ExtensionMethod(this KuozFF k)
24
25 {
26
27 Console.WriteLine("我是扩展方法");
28
29 }
30
31 }
调用代码如下:
1 KuozFF method=new KuozFF();
2
3 method.NormalMethod();
4
5 method.ExtensionMethod();
6
7 Console.ReadLine();
输出结果:
aaarticlea/png;base64,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" alt="" />
从上面代码可以看出我们客户端调用时无需关心扩展方法在哪儿写的,你只要实例化原始类,扩展方法自动会有的。
扩展方法在C#4.0中是无处不在的,下面我们看看C#内置的扩展方法来更深刻的了解一下:
1 public static class Enumerable
2
3 {
4
5 public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
6
7 public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, int, bool> predicate);
8
9 public static IEnumerable<TResult> Select<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, TResult> selector);
10
11 public static IEnumerable<TResult> Select<TSource, TResult>(this IEnumerable<TSource> source, Func<TSource, int, TResult> selector);
12
13 }
以上就是微软IEnumerable类的扩展方法,所以我们平时用的时候方法后面点.后就能出来怎么多丰富的where,select等方法是扩展方法起的作用。这里只是拿出一点扩展方法来展示了一下。
下面我们写一下string类扩展方法,我们以前判断一个字符串是否null或空时,用系统内置方法string. IsNullOrEmpty(s),我们把这个方法做成扩展方法演示一下:
1 public static class Demo1
2
3 {
4
5 public static bool IsNullOrEmpty(this string s)
6
7 {
8
9 return string.IsNullOrEmpty(s);
10
11 }
12
13 }
调用代码如下:
1 string temp = "12";
2
3 bool result = temp.IsNullOrEmpty();
4
5 Console.WriteLine(result);
6
7 Console.ReadLine();
输出结果:
aaarticlea/png;base64,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" alt="" />
从调用代码可以看出string本身是没有IsNullOrEmpty()方法的,通过我们自己写扩展方法有了该方法。
大家可以在自己的方法或者对系统类的扩展可以写一下,以便在日后的编码过程中给自己提供方便。
扩展方法注意事项:
1、它至少有一个参数;
2、第一个参数必须附加 this 关键字;
3、第一个参数不能有任何其他修饰符(out/ref)
4、第一个参数不能是指针类型
5、 C# 只支持扩展方法,不支持扩展属性、扩展事件等;
6、 扩展方法的命名空间可以使用 namespace System ,但不推荐;
7、 定义扩展方法的类是静态类;
今天就写到这里吧!谢谢朋友们的支持!
附带 [C#小技巧收集]将字符串转换成List<T>
有时需要将一个字符串分隔后,转换成指定类型的数组或List<T>,比如服务器端收到提交的一组checkbox的值,可能是一个ID串,类似:56,657,0,1,2,3,4,5,6,7,8,需要将它转成一个int数组或List<T>再进行后续处理。
在将字符串转换成List<T>中看到了关于这个的讨论,整理如下。
我们可用Array.ConvertAll 泛型方法来实现,代码如下:
string str = "56,657,0,1,2,3,4,5,6,7,8";
int[] arrInt = Array.ConvertAll<string, int>(str.Split(','), s => int.Parse(s));
foreach (int i in arrInt) Console.WriteLine(i);
或者,我们想用到一些“奇技淫巧”,比如将这功能做成string的扩展方法:
public static List<T> ToList<T>(this string str, char split, Converter<string, T> convertHandler)
{
if (string.IsNullOrEmpty(str))
{
return new List<T>();
}
else
{
string[] arr = str.Split(split);
T[] Tarr = Array.ConvertAll(arr, convertHandler);
return new List<T>(Tarr);
}
}
调用方法:
List<int> intList = str.ToList<int>(',', s => int.Parse(s));