首页 > 编程语言 >C# 方法参数中的this参数

C# 方法参数中的this参数

时间:2022-11-01 09:11:54浏览次数:67  
标签:string C# 扩展 参数 Foo 方法

引用:C# 方法中的this参数 - zh89233 - 博客园 (cnblogs.com) public static class StringExtension { public static void Foo(this string s) { Console.WriteLine("Foo invoked for {0}", s); } }

为什么这里会有一个this关键字,做什么用?其实这就是扩展方法!这个扩展方法在静态类中声明,定义一个静态方法,其中第一个参数定义可它的扩展类型。Foo()方法扩展了String类,

因为它的第一个参数定义了String类型,为了区分扩展方法和一般的静态方法,扩展方法还需要给第一个参数使用this关键字。

现在就可以使用带string类型的Foo方法了:

string s="Hello"; s.Foo();

结果在控制台上显示Foo invoked for Hello ,因为Hello是传送给Foo方法的字符串。

 

归纳:扩展方法可以写入最初没有提供该方法的类中。还可以把方法添加到实现某个接口的任何类中,这样多个类可以使用相同的实现代码。

标签:string,C#,扩展,参数,Foo,方法
From: https://www.cnblogs.com/HarryK4952/p/16846583.html

相关文章

  • git提交指定文件 git add git commit git stash pop
    git提交指定文件gitaddgitcommitgitstashpopgit提交指定文件,如果此时修改了其他代码,可先提交指定代码,然后忽略不想提交的代码,最后push之后,恢复之前忽略的代码......
  • BackgroundService
    .NETCore实现后台任务(定时任务)BackgroundService.NETCore实现后台任务(定时任务)IHostedService 原文链接:https://www.cnblogs.com/ysmc/p/16456787.html最近......
  • 字节前端面试被问到的react问题
    redux中间件中间件提供第三方插件的模式,自定义拦截action->reducer的过程。变为action->middlewares->reducer。这种机制可以让我们改变数据流,实现如异步action......
  • Java 基于 SpringCloud 数据中台 ETL 工具,可以进行多种常见数据库之间的数据或结构迁
    基于SpringCloud数据中台ETL工具,可以进行多种常见数据库之间的数据或结构迁移提供源端数据库向目的端数据库的批量迁移同步功能,支持数据的全量和增量方式同步。包括:......
  • ASP.NET Core教程-跨域配置(CORS Configuration)
    更新记录转载请注明出处:2022年11月1日发布。2022年11月1日从笔记迁移到博客。说明Cross-OriginResourceSharing,跨域资源共享配置方式在ASP.NETCore中有2种方......
  • 无celery日志
    解释1:日志、日志你把你想打印的内容写道logger中吗? 还有就是日志在哪是看:下面的xxx是谁,你写的app自然将来在应用日志中找啊importlogging......
  • cross socket ssl动态库
    crosssocketssl动态库crosssocket支持ssl需要动态库的支持,它的源码注释就说得很清楚。unitNet.OpenSSL;{OpenSSL下载:https://indy.fulgan.com/SSL/htt......
  • 「MySQL高级篇」MySQL之MVCC实现原理&&事务隔离级别的实现
    大家好,我是melo,一名大三后台练习生,死去的MVCC突然开始拷打我......
  • OSI七层模型与tcp/ip协议
    软件即服务(SaaS)平台及服务(PaaS)基础设施即服务(LaaS)交换机:提供更多的接口路由器:选择最佳路径去往你目的地ip地址:家庭住址mac:电话号码(身份证)OSI参考模型7层模型应......
  • React-hooks面试考察知识点汇总
    Hook简介Hook出世之前React存在的问题在组件之间复用状态逻辑很难React没有提供将可复用性行为“附加”到组件的途径(例如,把组件连接到store)。有一些解决此类问题的......