Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么';t VS 2008在Intellisense中为String类显示扩展方法_C#_Visual Studio 2008_String_Extension Methods_Intellisense - Fatal编程技术网

C# 为什么';t VS 2008在Intellisense中为String类显示扩展方法

C# 为什么';t VS 2008在Intellisense中为String类显示扩展方法,c#,visual-studio-2008,string,extension-methods,intellisense,C#,Visual Studio 2008,String,Extension Methods,Intellisense,因为String实现了IEnumerable,所以我希望在Intellisense中看到可枚举扩展方法,例如,在 String s = "asdf"; s. 我希望看到.Select(…),.ToList(),等等。 然后,我惊讶地发现扩展方法确实在string类上工作,它们只是没有在Intellisense中出现。有人知道这是为什么吗? 这可能与问题有关。这是通过明确的设计实现的。问题在于,虽然字符串最明确地实现了IEnumerable,但大多数人并不这样认为,或者更重要的是不这样使用它 S

因为String实现了
IEnumerable
,所以我希望在Intellisense中看到可枚举扩展方法,例如,在

String s = "asdf";
s.
我希望看到
.Select(…)
.ToList()
,等等。 然后,我惊讶地发现扩展方法确实在string类上工作,它们只是没有在Intellisense中出现。有人知道这是为什么吗?
这可能与问题有关。

这是通过明确的设计实现的。问题在于,虽然字符串最明确地实现了
IEnumerable
,但大多数人并不这样认为,或者更重要的是不这样使用它


String有相当少的方法。最初,我们没有从字符串中过滤扩展方法,结果是产生了大量的负面反馈。通过正确的导入,它有时几乎将方法的数量增加了三倍。显示了所有扩展方法后,人们通常无法在噪声中看到他们正在寻找的字符串方法

字符串是一个。。。简单类型,最好这样看:)

仍然完全可以对字符串调用扩展方法。它很可能不会出现在intellisense中

编辑:String实际上有很多方法。但由于它们中的许多都是重载,因此它们在智能意义上崩溃了

应该

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

然后它应该在那里。

关于信息,这在VS2010中已经改变了(至少在beta 2中)。看起来此筛选已被删除(可能导致了太多的混乱),方法现在与扩展方法标志符一起可见。

这是在VS中硬编码的吗,或者在String或Enumerable类上是否使用了某些属性,我们可以使用它们来实现相同的效果?我不相信有任何属性或配置可以调整以停止或获得此行为。这应该是可配置的。若你们要有扩展方法,那个么我认为你们真的需要接受这些胡说八道。这似乎是一个非常不明显和意外的行为。“String有相当少的方法”-真的吗?在扩展方法之前,我计算了大约42个。是的,扩展方法增加了很多,但是42个方法仍然是一个相当大的数字@Jon,我应该说“按名称列出的方法数量相当少”。在intellisense中,所有重载都折叠为一个项,直到您实际选择该项并开始键入参数。更智能的intellisense。杰出的