C# this扩展方法
2016-06-02 17:25
134 查看
本文导读:扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。 它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。 扩展方法当然不能破坏面向对象封装的概念,所以只能是访问所扩展类的public成员。
扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。
C#扩展方法第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。
C# this扩展方法实例
实例1、给string 类型增加一个Add方法,该方法的作用是给字符串增加一个字母a
C# 代码 复制
实例2、给自定义的类型增加一个扩展方法,并增加一个传递的参数
(1)、声明一个Student类,它包含了两个方法StuInfo,getStuInfo
C# 代码 复制
(2)、声明一个名为ExtensionStudentInfo的静态类,注意必须为静态
这个类的作用就是包含一些我们想要扩展的方法,在此我们声明两个Student类型的扩展方法,Student类型为我们自定义的类型。
C# 代码 复制
(3)、使用自定义类的扩展方法,注意必须要用对象来调用扩展方法
C# 代码 复制
实例3、为string扩展一个验证邮件类
(1)、扩展方法
C# 代码 复制
(2)、使用方法
C# 代码 复制
扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。
C#扩展方法第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。
C# this扩展方法实例
实例1、给string 类型增加一个Add方法,该方法的作用是给字符串增加一个字母a
C# 代码 复制
//必须是静态类才可以添加扩展方法 Static class Program
实例2、给自定义的类型增加一个扩展方法,并增加一个传递的参数
(1)、声明一个Student类,它包含了两个方法StuInfo,getStuInfo
C# 代码 复制
public class Student
(2)、声明一个名为ExtensionStudentInfo的静态类,注意必须为静态
这个类的作用就是包含一些我们想要扩展的方法,在此我们声明两个Student类型的扩展方法,Student类型为我们自定义的类型。
C# 代码 复制
public static class ExtensionStudentInfo
(3)、使用自定义类的扩展方法,注意必须要用对象来调用扩展方法
C# 代码 复制
static void Main(string[] args)
实例3、为string扩展一个验证邮件类
(1)、扩展方法
C# 代码 复制
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; //声明扩展方法的步骤:类必须是static,方法是static, //第一个参数是被扩展的对象,前面标注this。 //使用扩展方法的时候必须保证扩展方法类已经在当前代码中using namespace 扩展方法
(2)、使用方法
C# 代码 复制
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 扩展方法
相关文章推荐
- C#.net使用GraphicsMagick
- C#使用GET、POST请求获取结果
- c#读取类库配置文件方法
- C#Thread的使用
- 30天C#基础巩固-----值类型/引用类型,泛型,空合并操作符(??),匿名方法
- c# 操作Word总结【转】
- C#Thread的Interrupt方法
- C#通过安全证书生成签名和验签辅助类
- C# RSA 算法
- c# Dictionary求交集、差集、并集
- C#Thread的Join方法
- C#操作XML之——读取XML节点
- C#中可以用XmlDocument类操作Xml文件
- 简介C#读取XML的两种方式
- C#多线程Thread.Abort的使用
- c# 可空类型
- C#实现两个时间相减的方法
- C#中重写(override)和覆盖(new)的区别 (备注:转,留自己用)
- C# 拼接字符串
- C# in depth学习(1)