扩展方法是静态方法,是类的一部分,但没有在类的源代码中,就像一个补丁

首先创建一个静态类,然后创建一个静态方法,重点是静态方法的参数

    public static class xExtension
{
public static int x(this char s)
{
return Convert.ToInt32(s);
}
}
class MainClass
{
public static void Main()
{
char y = 'A';
Console.WriteLine(y.x());
}
}

这里定义了一个扩展方法x,注意x的参数列表(this char s),this和char定义了这是一个char的扩展方法,s是char类型的形参

扩展方法x的作用是将char字符转换为对应的ascii码

如果参数静态方法的参数列表是(this int s),那么这就是int的扩展方法

扩展方法的调用和普通方法调用方式一样,这里声明了char类型变量y,然后调用y.x(),运行便会在控制台输出65

注意:扩展方法的优先级低于实例方法的优先级,如果定义了同名的实例方法,那么扩展方法永远无法调用

最新文章

  1. C#通过WMI的wind32 的API函数实现msinfo32的本地和远程计算机的系统日志查看功能
  2. LeetCode: Ransom Note
  3. Linux环境下Oracle数据库启动停止命令
  4. php的memcache和memcached扩展区别
  5. 24. Longest Consecutive Sequence
  6. Awesome Machine Learning
  7. DirectX小记
  8. Java事务处理全解析(三)——丑陋的案例
  9. J​a​v​a​S​c​r​i​p​t​针​对​D​o​m​相​关​的​优​化​心​得
  10. Oracle 约束类型
  11. Oracle 11g client的安装和配置。
  12. COJ 2106 road
  13. 装饰(Decorator)模式
  14. javascript中加var和不加var的区别
  15. 关于iOS9 HTTP不能正常使用的解决方法
  16. 中小研发团队架构实践之分布式协调器ZooKeeper
  17. TCP/IP的四元组、五元组、七元组
  18. python 常用turtle
  19. Ruby http/net 中连接超时问题
  20. 『Python』socket网络编程

热门文章

  1. 9.[完]其他常用的rabbitmq的参数和设置
  2. 牛客网多校第5场 H subseq 【树状数组+离散化】
  3. git config [section] solutions
  4. How to create a folder symbol link in macOS
  5. 微信公众号 & 付费阅读
  6. HTTP in depth
  7. SVG & Sprite & symbol & use
  8. PWA & TWA
  9. how to get window width in javascript
  10. Flutter Navigator2.0