扩展方法首先是一种方法,它可以用来扩展已定义类型中的方法成员
扩展方法的使用首先定义一个扩展方法,在定义扩展方法的时候有几个规则:
(1)扩展方法必须在一个非嵌套、非泛型的静态类中定义;
(2)它至少要有一个参数;
(3)第一个参数必须加上this关键字作为前缀(第一个参数类型也称为扩展类型,即指方法对这个类型进行扩展);
(4)第一个参数不能使用任何其他的修饰符(如不能使用ref、out等修饰符);
(5)第一个参数的类型不能是指针类型。
public static class ListExtern
{
public static int A(this IEnumerable<int> source)
{
if (source == null)
{
throw new ArgumentException("输入数组为空");
}
int jsum = 0;
bool flag = false;
foreach (var i in source)
{
if (!flag)
{
jsum += i;
flag = true;
}
Else
{
flag = false;
}
}
return jsum;
}
}
当定义好之后,就可以直接调用就好了,输出