扩展方法
来源:互联网 发布:免费好用的mac清理软件 编辑:程序博客网 时间:2024/06/06 01:07
1..net3.5引入扩展方法,它允许你在不直接修改原始类型的情况下为类或结构添加新的方法或属性。
2.扩展方法必须声明为静态的;所有的扩展方法都需要使用this关键字对第一个参数(并且仅对第一个参数)进行修饰,用this修饰的参数表示被扩展的类。
public static class Myclass4
{
//返回任何对象的完全限定名称
public static string ShowInfos(this Object obj)
{
return obj.GetType().FullName;
}
}
3.如果没有显示的导入命名空间,扩展方法对当前代码文件是不可用的。
using ClassLibrary10;
public class MyClass5 //另一个程序集中引用
{
private void Func1()
{
int a = 1;
a.ShowInfos();
}
}
4.扩展实现了指定接口的类型
public interface ITestExpandFunction
{
void Func1(string name);
}
public static class Class1
{
public static void ShowInfos2(this ITestExpandFunction arg);
}
导入指定的命名空间并调用:
public class MyClass6 : ITestExpandFunction
{
public void Func1(string name)
{
Console.WriteLine(this.GetType().FullName.ToString());
}
}
public class MyClass5
{
public void Func2()
{
MyClass6 cls6 = new MyClass6();
cls6.ShowInfos2();
}
}
5.扩展方法的LINQ API中有着十分重要的作用。
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- android应用开发常用知识总结
- 大型网站系统架构的演化
- C++第一次实验-2
- 杭电-1717-小数化分数2
- 怎样把iOS9 Spotlight加入到你的app
- 扩展方法
- Good Morning
- 安卓学习过程、怎样阅读 Android 系统源码
- jfinal学习1——tomcat下搭建最初环境
- 提示用户输入一个数,试用个字符模拟七段显示器效果
- oracle数据库对象
- Windows下Apache安装及配置
- BOM模型基础
- poj 1988 Cube Stacking(带权并查集)