扩展方法:
目的:对已存在的类型的行为进行扩展:
扩展方法是一种特殊的静态方法
扩展方法必须在静态类中定义
扩展方法的优先级低于同名的类方法
扩展方法只能在特定的命名空间中有效
排除必需不要滥用扩展方法
LinQ中的绝大数方法都是扩展方法
示例:
//静态类
目的:对已存在的类型的行为进行扩展:
public static class ClassA { //this keywords is a pointer,表示为string类型定义了一个扩展方法 public static void ExpandMethod(this string s) { //方法体 } }注意事项:
扩展方法是一种特殊的静态方法
扩展方法必须在静态类中定义
扩展方法的优先级低于同名的类方法
扩展方法只能在特定的命名空间中有效
排除必需不要滥用扩展方法
LinQ中的绝大数方法都是扩展方法
示例:
//静态类
public static class ExpandClss { //静态类中的拓展方法 public static string ExtraMethodToString(this string s) { return s.Substring(0, 1).ToUpper() + s.Substring(1); } //带参数的拓展方法 public static string ExtraMethodToString(this string s,int len) { return s.Substring(0, 1).ToUpper() + s.Substring(1,len); } } //使用静态类 private void button1_Click(object sender, EventArgs e) { string s = "abcdefgafateateaft"; //要求首字母大写,其它字母小写,使用拓展方法实现 Console.WriteLine(s.ExtraMethodToString()); //output result "Abcdefgafate" Console.WriteLine(s.ExtraMethodToString(4)); //output result "Abcd" }
发表评论
-
C# 实现将文件夹分卷压缩
2015-04-17 17:01 1135http://bbs.csdn.net/topics/3907 ... -
C#发送邮件
2015-04-17 15:58 644public class SendEmailHelper ... -
C# xml文件读取
2015-02-11 16:08 576看附件................ -
什么时候该用委托,为什么要用委托,委托有什么好处....
2015-01-29 16:56 783http://www.cnblogs.com/superpce ... -
C#中动态加载和卸载DLL
2015-01-26 14:02 1378在C++中加载和卸载DLL是一件很容易的事,LoadLibra ... -
转:c#常用的18种设计模式
2015-01-21 08:16 719http://blog.jobbole.com/78130/ -
C#委托的介绍(delegate、Action、Func、predicate)
2015-01-09 17:26 1051http://www.cnblogs.com/akwwl/p/ ... -
接口和抽象类有什么区别 .
2014-12-22 16:35 585接口和抽象类有什么区别 你选择使用接口和抽象类的依据是什么 ... -
C#一个简单写日志文件的类
2014-12-11 09:57 1067/// <summary> /// L ... -
Linq初级班 Linq to DataSet体验(单表、多表联合查询JOIN语法)
2014-12-10 14:34 326http://www.cnblogs.com/huangcon ... -
C#泛型详解
2014-11-29 11:31 442我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处 ... -
线程同步与异步的区别
2014-11-26 09:12 840异步处理就是按照不同步的程序处理问题。异步处理与同步处理是对立 ... -
应用C#和SQLCLR编写SQL Server用户定义函数 .
2013-10-09 17:07 446http://blog.csdn.net/zhzuo/arti ... -
log4Net简介
2013-06-30 11:32 537使用log4Net可以将系统听日志保存到DB、日志文件、邮箱中 ... -
DataGridView历史记录的前进与后退操作
2013-06-23 11:13 1073此功能介绍:DataGridView频繁查询数据时,可以将每次 ... -
c# 对INI配置文件的读取操作
2013-06-17 10:51 648此种方法只对如下格式的INI文件起作用 server=loca ... -
对DataGridView控件的扩展开发
2013-06-15 21:47 2328首先在项目中引用 ... -
对集合控件(ListBox,ComboBox,TreeView,RichTextBox,DataGridView)的查找、替换操作控件
2013-06-15 09:39 1520一、程序入口: using System; using ... -
C#对文件、文件夹操作公用组件
2013-06-11 09:46 931namespace HR.Class.IO { / ... -
TreeView控件操作开发篇之(五)
2013-06-09 00:09 786#region 加载文件夹及文件到树 ...
相关推荐
C# Extension(扩展方法),LinqExtensions、类型转换扩展、日期时间扩展、格式化扩展、验证扩展、可空类型
Linq及扩展方法的使用 包含: 1.简单查询 2.First,Last,Skip,Take等 3.排序 4.join 5.聚合 6.其他
开发日常使用帮助类扩展方法,仅供学习使用。。直接引用扩展使用
Entity Farmework扩展方法,批量添加(BulkInsert)。
VS2008 扩展方法测试:其中还有很抽象的面向对象思维,很简单,但是面向接口的实例
C#扩展方法,实现模拟List的FindAll方法 实现了泛型的MyFindALl方法
低成本可编程控制器输入点扩展方法研究rar,可编程序控制器,输入点扩展方法,软件
Xorp的FEA分布式扩展方法,杨宇鸿,马跃,目前的开源路由器Xorp仅支持单一转发引擎(FEA),本文设计并实现了一种基于Click转发引擎的Xorp的扩展方法,包括模块扩展、接口扩展��
单片机串口扩展方法总结单片机串口扩展方法总结单片机串口扩展方法总结
基于点击模型的查询扩展方法,翟科科,张日崇,文章引入搜索用户点击模型,提出了一种基于用户点击模型的查询扩展方法,该方法首先从用户查询日志挖掘出所有关联的查询句对,并
网络游戏-iSCSI存储网络、磁盘阵列及其容量扩展方法.zip
基于MIPS处理器的AES算法指令集扩展方法与实现.pdf
采用扩展方法实现数组中数据类型转换(c#),转换方法可以转换很复杂的数据类型,在一定程序上提高开发效率.
目录:集合扩展方法(命名空间-Pylypeiev.Extensions):POCO扩展方法(名称空间-Pylypeiev.Extensions):XML扩展方法(名称空间-Pylypeiev.Extensions.Xml):集合扩展方法(命名空间-Pylypeiev.Extensions):...
减小OFDM系统峰均比的一种动态星座扩展方法 ,赵东峰,金鑫,本文提出了一种基于动态星座扩展(ACE, Active Constellation Extension)的减小正交频分复用(OFDM, Orthogonal Frequency Division Multiplexing)系统峰均...
public static DataView AsDataView(this DataTable table, string selectText)
报错“扩展方法必须在非泛型静态类中定义”,参数前面添加关键字this
jquery-validate 可对前端form进行表单校验,文档里详细介绍了如何使用jquery-validate框架和如何扩展验证方法。
#资源达人分享计划#