Why doesn't VS 2008 display extension methods in Intellisense for String class

偶尔善良 提交于 2019-11-27 05:25:13

It's by explicit design. The problem is that while String most definitely implements IEnumerable<T>, most people don't think of it, or more importantly use it, in that way.

String has a fairly small number of methods. Initially we did not filter extension methods off of String and the result was a lot of negative feedback. It almost tripled the number of methods at times with the right imports. With all of the extension methods displayed, people often couldn't see the String method they were looking for in the noise.

String is a ... simple type and it's better to view it that way :)

It's still completely possible to call an extension method on string. It's just likely not going to show up in intellisense.

EDIT: String actually has quite a few methods. But because many of them are overloads they collapse in intellisense.

For info, this has changed in VS2010 (in beta 2, at least). It looks like this filtering has been removed (presumably it caused too much confusion), and the methods are now visible, along with the extension-method glyph.

It should.

For example you can write it public static string myExtensionMethod(this String yuppi){
}

Then it is supposed to be there.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!