参考
C# 静态类
C# this指针用法
c# 扩展方法详解
this(C# 参考)
扩展方法(C# 编程指南)
C# this 指针描述
- this 指针 指的是类的当前实例
- 作为拓展方法的修饰符
拓展方法描述
- 扩展方法必须是静态方法,必须在静态类种定义,可见性与类相同
- 扩展方法必须在顶级类中定义,不能在嵌套类中定义(嵌套类:在某个类中定义类)
- 第一个参数指定方法的操作类型,参数前面必须加上 this 修饰符
- 可以用实例直接调用扩展方法
示例
//静态类
public static class ExpandExample
{
//静态类的拓展方法
public static void OutputTypeName(this object obj)
{
//输出 obj 对象指向类型
Console.WriteLine("TypeName is " + obj.GetType().Name);
}
}
其他非静态类中使用:
public class UseExtensionMethods
{
public void UseExtensionFunc()
{
//调用扩展方法,即可输出此类类型
this.OutputTypeName();
}
}
用实例访问:
...
string name = "somebody";
//写法1:实例直接调用
name.OutputTypeName();
//写法2:静态类调用
ExpandExample.OutputTypeName(name);
...