【Bug】拓展方法必须在非泛型静态类中定义

news/2024/11/14 12:43:19/文章来源:https://www.cnblogs.com/Dongmy/p/18302684

原文链接:https://blog.csdn.net/weixin_44231544/article/details/121752347

原:

 修改:

 

拓展方法
1.定义:

(1)扩展方法能使你能够向现有类型添加“添加”方法,而无需创建新的派生类型,重新编译或以其他方式修改原始类型。

(2)扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样调用。

注:

(1)扩展方法的第一个参数指定该方法作用于那个类型,并且此参数用this为前缀修饰。仅当你使用using指令将命名空间显示导入到源码之中后,扩展方法才位于范围中。

(2)在代码中,可以使用实例方法语法调用改扩展方法,但是,编译器生成的中间语言(IL)会将代码转换为对静态方法的调用。因此,并未真正 违反封装原则,实际上,扩展方法无法访问到他们所扩展类型中的私有变量。

(3)不能重写扩展方法

(4)与接口或者类具有相同名称和签名的扩展方法永远不会被调用(编译时优先级:实例方法 > 扩展方法)
(5)所处的类必须是static修饰,因为拓展方法是静态的

(方法签名:c#中指返回值和参数)
2. 简单代码示例:

步骤一:定义扩展方法,namespace为PipelineExtensions

 

步骤二:使用此扩展方法

(1)先通过using把namespace引入到使用文件中

(2)使用扩展方法 WordCount(this string str)中的第一个参数类型string为类型的参数调用此扩展方法

 或者当成普通静态方法调用

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/743993.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kettle从入门到精通 第七十五课 ETL之kettle血缘,数据血缘

在了解kettle血缘之前,咱们先来了解下什么是数据血缘? 1、数据血缘定义(来自gpt) 数据血缘(Data Lineage)是指在数据管理和数据分析中追踪数据的源头、流向和处理过程的能力。具体来说,数据血缘描述了数据如何被创建、变换和移动,以及这些过程中数据的路径和影响。它有…

kettle从入门到精通 第七五课 ETL之kettle血缘,数据血缘

在了解kettle血缘之前,咱们先来了解下什么是数据血缘? 1、数据血缘定义(来自gpt) 数据血缘(Data Lineage)是指在数据管理和数据分析中追踪数据的源头、流向和处理过程的能力。具体来说,数据血缘描述了数据如何被创建、变换和移动,以及这些过程中数据的路径和影响。它有…

如何实现元素的曝光监测

我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。本文作者:霁明一些名词解释 曝光 页面上某一个元素、组件或模块被用户浏览了,则称这个元素、组件或模块被曝光了。 视图元素 将页面上展示的…

MySQL - [17] Oracle、SQLServer、MySQL数据类型对比

题记部分 — 业精于勤荒于嬉,行成于思毁于随 —

华为云DTSE助力虎彩鲜檬优化运维效率,助力迁移上云

本文主要介绍了鲜檬摄影在数字化变革中,与华为云紧密合作,借助其DTSE专家团队,成功完成了业务系统改造、技术方案优化及迁移上云。本文分享自华为云社区《虎彩鲜檬数字化产业变革,迁移上云,助力其打造智慧婚拍新纪元》,作者: HuaweiCloudDeveloper。 来源:《华为云DTSE…

【CTF入门】BUUCTF Misc刷题(持续更新)

【CTF入门】BUUCTF Misc刷题 签到 点开发现签到题直接把flag交出来了,直接复制提交即可考点:了解CTF中flag的格式一般为flag{}

Linux 中 sed命令在指定行前添加空行

001、[root@PC1 test]# ls a.txt [root@PC1 test]# cat a.txt 33 aa 44 aa 88 aa 33 aa ff kk 33 aa 88 22 mm 88 33 44 22 99 [root@PC1 test]# sed 2 s/.*/\n&/ a.txt ## 在第二行前添加空行 33 aa 44 aa 88aa 33 aa ff kk 33 aa 88 22 mm 88 33 44 22 99 002、sed[roo…

nuxtjs2.x项目PC移动互相跳转

1、在plugins目录下新建terminalToggle.js,写入以下代码 (function () {let sUserAgent = navigator.userAgent.toLowerCase();let isIpad = sUserAgent.match(/ipad/i) == "ipad";let isIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";let i…

小车轮子测试(I2C)

I2C以及小车轮子测试I2C总线是PHILIPS公司推出的一种在电子通信控制领域常用的串行通信总线,是一种简单、双向 通信、二线制、同步的串行总线,具有连接线少、控制简单、通信速率高等优点。 端口检测 cd /dev lsI2C读写操作 使用i2cdetect命令检测i2c总线 i2cdetect -l如果红色…

Simple WPF: WPF使用Windows API发送Toast通知

以前看到Windows 10的气泡通知觉得很有意思,但是一直不知道该如何实现。最近一次上网冲浪过程中偶然的机会看到了相关资料就自己来试试。本文介绍了在WPF框架下发送Win10 Toast通知的方法。以前看到Windows 10的气泡通知觉得很有意思,但是一直不知道该如何实现。最近一次上网…

卡通AI图片生成器

AI卡通生成器是一个AI工具,你可以毫不费力地用文本创建美丽的卡通图像! AI卡通生成器简介:创意与轻松相遇的地方!  有了我们创新的人工智能工具,用文字制作迷人的卡通图像就像点击一样简单。无论你是将可爱的人工智能动物带到生活中,还是用人工智能故事漫画讲述引人入胜…

[HGAME 2023 week3]kunmusic wp

今天写了一道Hgame的题,挺有意思的,写个blog记录一下 下载附件得到三个文件,先用dnspy打开dll文件,找到main函数,发现为对资源中data的加密。因此将data直接dump下来,对其进行解密,并将解密后的文件保存为111,脚本如下: file = open(rC:\Users\usr\Desktop\ctf题库\re…