Intellisense 为 String 类型的对象列出了许多不必要的 <Extention> 方法?

问题描述 投票:0回答:1

在我的 VB.Net 2019 中,智能感知自动完成列表显示了

String
类型对象的许多不必要的方法。

这些方法都具有

<Extention>
属性,如所附屏幕截图所示。其中许多似乎与数据相关,例如 Any、All 和 Distinct。但其他字符串则不然,而且似乎是错误的,例如 Average、Count 和 Intersect。

对于此屏幕截图,我创建了一个测试项目,并从参考中删除了除

System
Microsoft.VisualBasic
之外的所有内容,但扩展方法仍然存在。

这些方法从何而来?

我了解我可以单击自动完成列表上的

Properties
Methods
按钮仅显示这些按钮。但我也想了解我自己的教育的扩展方法来自哪里。

vb.net visual-studio-2019
1个回答
0
投票

您看到这些扩展方法是因为

String
实现了
IEnumerable(Of Char)
并且
System.Linq
命名空间会作为项目属性的一部分自动导入。它们是任何实现
IEnumerable(Of T)
的标准 Linq 扩展方法。

您可以通过项目属性中的“引用”层控制自动导入(在原始项目和 SDK 样式项目中位于同一位置)。我相信

System.Linq
是默认值之一。

© www.soinside.com 2019 - 2024. All rights reserved.