问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么不能VB.Net找到一个接口扩展方法

发布网友 发布时间:2022-10-07 18:04

我来回答

1个回答

热心网友 时间:2023-10-28 22:06

由于汉语语言表述的所带来的不易理解性,我们还是直接用代码来解释吧,如下的代码片段:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

public static class StringExtentsion
{
public static string ToString(this string str)
{
return "Extentsion" + str;
}
}

class Program
{
static void Main(string[] args)
{
string str = "test";

Console.WriteLine(str.ToString()); // 输出结果为: test,也就说编译器会优先选用原有类的实例化方法,如果没找到匹配方法再寻找扩展方法

Console.Read();
}
}

由上述的代码片段可以知:StringExtentsion类中扩展方法ToString 和 String类的原有的ToString方法 对于客户端代码而言,它们的语法表象是
一样的,但本质上一个是StringExtentsion类的静态方法,一个是String类的实例化方法。然而编译运行没有产生错误,更没有产生警告。所以在
这种情况下很容“埋雷”,一不小心就会中招。有人也许会说:我注意一下不要和.NET类库的方法重名就可以了。但是你能保证 .NET 6、甚至.NET 10
的方法名和你写的绝对不重名吗?所以,扩展方法存在着版本控制的问题。
 
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何挑选紧致眼霜?有哪些品牌推荐? 怎样挑选抗皱眼霜?有哪些值得安利? 什么品牌的眼霜平价好用? 什么牌子眼霜最好用眼霜十大排名 市面上的大牌抗老眼霜该怎么选? ps4十大最耐玩经营类游戏 推荐点好玩的模拟经营类游戏吧 模拟经营类游戏(模拟经营类游戏简称) 谁有模拟经营版的单机游戏 一个小岛的模拟经营的单机游戏 三系油箱容量 服务器主机与PC个人主机有何具体区别? 请问vb.net如何调用XML文件里的接口 海蜇头要浸泡多少时间才能吃 海蜇头要浸泡多长时间才能吃 海蜇泡多长时间 海蜇要清水泡多久才能吃 描写瀑布的古诗100首 请问一下魅族m721q是什么型号 想问魅族m721q是什么型号 基围虾可以腌制多久 基围虾腌制多久 ppt怎么保存 PPT文件保存方法 能手把手教一下怎么把matlab的GUI转成.exe的可执行文件 手机激活需要密码,但是不知道密码多少? 请问一下铁皮石斛的产地在哪里 请问铁皮石斛的产地在哪里 咸阳城东楼的翻译及原文 格林童话故事英文 407、英语小故事(中英对照)“格林童话” 教师副高职称相当于什么级别 求"孖"的读音 孖怎么读 孖的读法 华为vr能接电视盒 我忘了 英语怎么说 最新的中外合资汽车公司有哪些? 小型合资车23款国内要上市的有那些 李亚鹏“4000万欠债案”终审败诉了,如何从法律角度解读这一判决? 空调的英语怎么写呢??? 我的苹果电脑最近老喜欢卡,是那种平时用起来特别顺畅,但是一旦卡起来完全没反应的那种?怎么清理? 玻璃杯第一次用应该怎么处理 应该怎么做 李亚鹏两次创业两次赔个精光,如今他还有何发展呢? 空调的单词怎么写? 我想问一下干竹笋要泡多久才可以吃 玻璃杯怎么处理才不会炸 为什么 运放 负电源 华为mate30尺寸大小 其他参数数据和发布时间 运放的输出电压正负? 有谁知道怎么才能让更多的人加入自己呢? 手信和伴手礼有区别吗 手信和伴手礼的区别介绍 怎么让开机启动不显示在360里面 有什么方法在开机时不显示360 投影幕布的尺寸为长4.3m*宽2.4m,想知道使用的投影机尺寸至少是多少的,30--300英寸的是否合格!!!谢谢! 我这个是那个品种的雪茄,价值多少,别人送的, 讨好型人格是不是极度缺爱?