首页 > 其他分享 >【Bug】拓展方法必须在非泛型静态类中定义

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

时间:2024-07-15 10:42:55浏览次数:10  
标签:非泛 静态方法 扩展 拓展 调用 类型 方法 Bug 类中

原文链接: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为类型的参数调用此扩展方法

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

 

标签:非泛,静态方法,扩展,拓展,调用,类型,方法,Bug,类中
From: https://www.cnblogs.com/Dongmy/p/18302684

相关文章

  • Debug Log - Linux下出现 cmake: command not found
    Bug情况:在用脚本安装一些环境时,出现了cmake:commandnotfound的情况,故需要安装cmake。踩坑:网上有人说通过yum来安装cmake,但我先通过apt安装yum(sudoaptinstallyum),再通过yum安装cmake(sudoyuminstallcmake),发现yum找不到对应匹配的包。解决过程:使用cmake--version......
  • 黑马程序员2024最新SpringCloud微服务开发与实战 个人学习心得、踩坑、与bug记录 Day4
    你好,我是Qiuner.为帮助别人少走弯路和记录自己编程学习过程而写博客这是我的githubhttps://github.com/Qiuner⭐️giteehttps://gitee.com/Qiuner......
  • 赛博灯泡3.0,未完善,无bug
    声明:本程序可用于研究C++可操控的系统功能,如用于非法用途,后果自负!#include<bits/stdc++.h>#include<windows.h>usingnamespacestd;intmain(){ cout<<"赛博大舞台敢按你就来\n输入F或者f塞入灯泡\n"; stringn; cin>>n; if(n=="F"||n=="f&quo......
  • 好玩小游戏(有bug私聊我)
    城市守卫战2.7#include<bits/stdc++.h>#include<windows.h>#include<conio.h>#include<time.h>usingnamespacestd;intt,nl,dl,Money,Moo,Dao,Yi,Shan,Qing,Hu;intBiao,Biaob,Bao=1,Baob,Baod=1,Baodb,Hub,Fengb,Sha,Jian,Shab,Jianb,Wei;......
  • 【BUG】Python3|COPY 指令合并 ts 文件为 mp4 文件时长不对(含三种可执行源代码和解决方
    文章目录前言源代码FFmpeg的安装1下载2安装前言参考:python合并ts视频(三种方法)使用FFmpeg合并多个ts视频文件转为mp4格式Windows平台下,用Python合并ts文件为mp4文件常见的有三种方法:调用COPY指令,运行copy/b*.tsoutput.mp4;需要注意的是[......
  • bug
    Thisfilecontainsanymessagesproducedbycompilerswhilerunningconfigure,toaiddebuggingifconfiguremakesamistake.Itwascreatedbytslibconfigure1.21,whichwasgeneratedbyGNUAutoconf2.71.Invocationcommandlinewas$./configure......
  • DEBUG [1] Android进行真机代码调试&FAQ
    前言        尽管我们有能力在非调试模式下通过ADB或者AndroidLogcat捕捉到程序运行时的日志,但它提供的信息的能力有限,想要更确切的掌握程序的运行状态就必须要进行真机调试,这是开发过程中必不可少的技能。调试环境版本:Unity6机型:OPPO安卓版本:Android13......
  • 微软登录bug
    微软登录bugClaude不让注册啊!!浪费了短信费欢迎关注公-众-号【TaonyDaily】、留言、评论,一起学习。Don’treinventthewheel,librarycodeistheretohelp.文章来源:刘俊涛的博客若有帮助到您,欢迎点赞、转发、支持,您的支持是对我坚持最好的肯定(_)......
  • Android 11 禁用 adb root (userdebug版本)
    adbshelllogcat-sadbd/system/core/adb/daemon/services.cppunique_fddaemon_service_to_fd(std::string_viewname,atransport*transport){...#ifdefined(__ANDROID__)if(name.starts_with("framebuffer:")){returncreate......
  • 分享红旗出版社《家庭藏书集锦》bug修正版
    有些人觉得这套电子书一文不值,纯属垃圾。有些人则认为这套电子书不错,就算是bug成堆也要尽量恢复,readfree论坛就曾多次讨论过对它的修复问题。鉴于这套电子书的bug实在是太多,大家也没有必要辛苦重复造轮子,所以把我修复的版本在我的网盘中分享出来,有兴趣的自取,网盘地址在这里发布:ht......