前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c#扩展方法

c#扩展方法

作者头像
MaybeHC
发布2024-04-23 19:17:58
770
发布2024-04-23 19:17:58
举报
文章被收录于专栏:技术之路技术之路

下面先通过一段程序告诉大家什么是扩展方法

代码语言:javascript
复制
  static class ExtendMethod
    {
        public static int GetAvg(this int sum)
        {
            return sum / 5;
        }
    }
代码语言:javascript
复制
    class Program
    {
        static void Main(string [] args)
        {
            int a = 10;
            Console.WriteLine(a.GetAvg());
            Console.ReadKey();
        }
    }

简单的说,一个可以通过“.”方式调用的方法就是扩展方法 我们通过上面的代码来看下扩展方法定义的时候需要注意的问题,和对上面代码的解释

  1. 扩展方法必须在静态类中定义
  2. 扩展方法是一种特殊的静态方法
  3. 第一个参数前加关键字this,int表示为所有的int类型添加扩展方法
  4. sum表示当前变量

什么时候使用扩展方法? 当我们使用的某个模块被封装在DLL中,现在需要对这个封装的类中添加一个方法的时候,这样的情况我们一般可以使用继承解决。 但是当类被sealed修饰的时候,类就无法继承了,这时我们就可以使用扩展方法

扩展方法定义

不带参数的扩展方法定义 static 方法名(this 目标类型 目标类型参数) 带参数的扩展方法定义 static 方法名(this 目标类型 目标类型参数,参数类型1,参数类型2,…)

当类本身的方法与扩展方法重名时,类本身的方法被优先调用

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 扩展方法定义
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com