扩展方法是C#3.0引入的新特性,使用它,可以在不修改某一类的代码的情况下,实现该类方法的扩展。
为一个类添加扩展方法,需要三个要素:
1.扩展方法所在的类为静态类
2.扩展方法本身要为静态方法
3.扩展方法的第一个参数要用关键字this,指向要扩展的类
下面请看一个实例:
//静态类 public static class TestExtensionM { //静态方法 public static int ExtensionInt(this int s) //this关键字 { return s + s; } }
这个扩展方法是服务于int类型的,返回它自己的2倍;
使用方法也很简单:
int a = 9; a = a.ExtensionInt(); Debug.WriteLine(a);
a为9,调用扩展方法以后,也看到了正确返回结果18
实际上也可以用: int.Add(a)的形式使用,但显然上图所示的更加简单易用。
扩展方法,也可以传入参数:
//静态类 public static class TestExtensionM { //静态方法 public static int ExtensionInt(this int s,int a) //this关键字 { return s + a; } }
使用的时候,传入对应的参数即可
int a = 9; a = a.ExtensionInt(6); Debug.WriteLine(a);
这种灵活的方式,可以让我们的开发更便捷,但是不要滥用扩展方法,当扩展方法与类原始的方法重名时,原始方法的优先级高于扩展方法,并且对于系统类,不要随便添加扩展方法。
以上就是C# 中的扩展方法简介的详细内容,更多关于c# 扩展方法的资料请关注小牛知识库其它相关文章!
本文向大家介绍简单介绍Python中的round()方法,包括了简单介绍Python中的round()方法的使用技巧和注意事项,需要的朋友参考一下 round()方法返回 x 的小数点四舍五入到n个数字。 语法 以下是round()方法的语法: 参数 x --这是一个数值表达式 n --这也是一个数值表达式 返回值 该方法返回 x 的小数点四舍五入到n个数字 例子 下面的例子显示
本文向大家介绍C及C++中typedef的简单使用介绍,包括了C及C++中typedef的简单使用介绍的使用技巧和注意事项,需要的朋友参考一下 typedef 声明,简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 typedef 来编写更美观和可读的代码。所谓美观,意指 typedef 能隐藏笨拙的语法构造以及平台相关的数据类型,从而增强可移植性和以及未来的可维护性。 在编程中
问题 你想不依靠其他工具,直接使用Python的扩展API来编写一些简单的C扩展模块。 解决方案 对于简单的C代码,构建一个自定义扩展模块是很容易的。 作为第一步,你需要确保你的C代码有一个正确的头文件。例如: /* sample.h */ #include <math.h> extern int gcd(int, int); extern int in_mandel(double x0, d
本文向大家介绍C#中的扩展方法,包括了C#中的扩展方法的使用技巧和注意事项,需要的朋友参考一下 扩展方法是静态方法,就像它们是扩展类型的实例方法一样被调用。使用扩展方法,您可以将方法添加到现有类型中,而无需创建新的派生类型,重新编译或修改原始类型。 以下是我们创建的扩展方法。 让我们看一个使用扩展方法的例子。 示例 输出结果
主要内容:2021简单大方的简历自我介绍一,2021简单大方的简历自我介绍二,2021简单大方的简历自我介绍三,2021简单大方的简历自我介绍四,2021简单大方的简历自我介绍五,2021简单大方的简历自我介绍六,2021简单大方的简历自我介绍七,2021简单大方的简历自我介绍八,2021简单大方的简历自我介绍九,2021简单大方的简历自我介绍十,简单大方的简历自我介绍相关文章:简单大方的简历自我介绍2021 有些人问简历自我介绍包含哪些内容,简历自我介绍可以包含的内容有:姓名;爱好、籍贯、学历
本文向大家介绍C# FileStream简单介绍和使用,包括了C# FileStream简单介绍和使用的使用技巧和注意事项,需要的朋友参考一下 本章讲述:FileStream类的基本功能,以及简单示例; 1、引用命名空间:using System.IO; 2、注意:使用IO操作文件时,要注意流关闭和释放问题! 强力推荐:将创建文件流对象的过程写在using当中,会自动帮助我们释放资源; 使用try