c# - 为什么 VS 2008 不在 String 类的 Intellisense 中显示扩展方法

标签 c# visual-studio-2008 string extension-methods intellisense

因为 String 实现了 IEnumerable<char> ,我期待在 Intellisense 中看到 Enumerable 扩展方法,例如,在

String s = "asdf";
s.

我期待看到 .Select<char>(...) , .ToList<char>() , ETC。 然后我惊讶地看到扩展方法 do 实际上在字符串类上工作,它们只是没有出现在 Intellisense 中。有人知道为什么吗? 这可能与 this 有关问题。

最佳答案

这是明确设计的。问题是,虽然 String 最明确地实现了 IEnumerable<T> ,大多数人不会那样想,或者更重要的是不会那样使用它。

String 有相当少的方法。最初我们没有过滤掉 String 的扩展方法,结果是很多负面反馈。通过正确的导入,有时方法的数量几乎增加了两倍。在显示所有扩展方法的情况下,人们通常无法在喧嚣中看到他们正在寻找的 String 方法。

String 是一个……简单的类型,最好这样看:)

仍然完全有可能在字符串上调用扩展方法。它很可能不会出现在智能感知中。

编辑:String 实际上有很多方法。但是因为它们中的许多都是重载,所以它们在智能感知中崩溃了。

关于c# - 为什么 VS 2008 不在 String 类的 Intellisense 中显示扩展方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/345883/

相关文章:

c# - 将 Delphi 变体记录转换为 C#

c# - 为什么 C# 与 .NET 框架如此相关?

c# - 未处理的异常会使 WCF 服务崩溃?

c# - 使用动态特性读取 XML 结构

c# - 试图将 foreach 转换为 linq 等价物

visual-studio-2008 - Wix 不会删除 VS 2008 中卸载时的快捷方式

Visual Studio 中的正则表达式 : How to comment out all lines that contain "xyz"?

java - 从 Java 中的 HashMap 返回通配符匹配列表

java - 在 java 中获取字符串大小(没有可用的 Graphics 对象)

python - 在 While 循环中使用随机 Once