C#扩展方法的一分钟小例子
2024-08-28 20:44:44
扩展方法是静态方法,是类的一部分,但没有在类的源代码中,就像一个补丁
首先创建一个静态类,然后创建一个静态方法,重点是静态方法的参数
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
注意:扩展方法的优先级低于实例方法的优先级,如果定义了同名的实例方法,那么扩展方法永远无法调用
最新文章
- C#通过WMI的wind32 的API函数实现msinfo32的本地和远程计算机的系统日志查看功能
- LeetCode: Ransom Note
- Linux环境下Oracle数据库启动停止命令
- php的memcache和memcached扩展区别
- 24. Longest Consecutive Sequence
- Awesome Machine Learning
- DirectX小记
- Java事务处理全解析(三)——丑陋的案例
- J​a​v​a​S​c​r​i​p​t​针​对​D​o​m​相​关​的​优​化​心​得
- Oracle 约束类型
- Oracle 11g client的安装和配置。
- COJ 2106 road
- 装饰(Decorator)模式
- javascript中加var和不加var的区别
- 关于iOS9 HTTP不能正常使用的解决方法
- 中小研发团队架构实践之分布式协调器ZooKeeper
- TCP/IP的四元组、五元组、七元组
- python 常用turtle
- Ruby http/net 中连接超时问题
- 『Python』socket网络编程
热门文章
- 9.[完]其他常用的rabbitmq的参数和设置
- 牛客网多校第5场 H	subseq 【树状数组+离散化】
- git config [section] solutions
- How to create a folder symbol link in macOS
- 微信公众号 &; 付费阅读
- HTTP in depth
- SVG &; Sprite &; symbol &; use
- PWA &; TWA
- how to get window width in javascript
- Flutter Navigator2.0