博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#方法拓展
阅读量:6149 次
发布时间:2019-06-21

本文共 1443 字,大约阅读时间需要 4 分钟。

作用:

扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。

要求:

1.拓展方法必须是在一个非嵌套、非泛型的静态类中定义。

2.他至少有一个参数。
3.第一个参数必须加上this关键字作为前缀(第一个参数类型被称为拓展类型,即之方法对这个类型进行拓展)
4.第一个参数不能使用任何其他的修饰符(包括ref,out等)
5.第一个参数类型不能是指针类型

 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace _11_拓展方法{    class Program    {        static void Main(string[] args)        {            List
source = new List
() { 1, 2, 3, 4, 5 }; //简单的调用方式 int res = source.JSum(); Console.WriteLine("第一种方式调用结果:"+res); //第二种调用方式 int res2 = ListExtem.JSum(source); Console.WriteLine("第一种方式调用结果:" + res2); Console.ReadKey(); } } public static class ListExtem { public static int JSum(this IEnumerable
source) { if (source == null) { throw new ArgumentException("输入的参数数组为空。。"); } int jSum = 0; bool isFlag = false; foreach (int current in source) { if (!isFlag) { jSum += current; isFlag = true; } else { isFlag = false; } } return jSum; } }}

 

转载于:https://www.cnblogs.com/kanekiken/p/7566600.html

你可能感兴趣的文章
android背景选择器selector用法汇总
查看>>
[转]Paul Adams:为社交设计
查看>>
showdialog弹出窗口刷新问题
查看>>
java
查看>>
Vue.js连接后台数据jsp页面  ̄▽ ̄
查看>>
关于程序的单元测试
查看>>
mysql内存优化
查看>>
都市求生日记第一篇
查看>>
Java集合---HashMap源码剖析
查看>>
SQL优化技巧
查看>>
thead 固定,tbody 超出滚动(附带改变滚动条样式)
查看>>
Dijkstra算法
查看>>
css 动画 和 响应式布局和兼容性
查看>>
csrf 跨站请求伪造相关以及django的中间件
查看>>
MySQL数据类型--与MySQL零距离接触2-11MySQL自动编号
查看>>
生日小助手源码运行的步骤
查看>>
Configuration python CGI in XAMPP in win-7
查看>>
bzoj 5006(洛谷 4547) [THUWC2017]Bipartite 随机二分图——期望DP
查看>>
CF 888E Maximum Subsequence——折半搜索
查看>>
欧几里德算法(辗转相除法)
查看>>