繁体   English   中英

为什么 Visual Studio IntelliSense 在这里不起作用?

[英]Why Visual Studio IntelliSense is not working here?

它不仅适用于我还是适用于所有人? 每次我在 lambda ( Enumerable之后的点)中编写“foreach”块时,它都不起作用:

Action t = ()=>
{
    foreach (var item in Enumerable.)
    {

    }
};

知道为什么它在这种情况下不起作用吗?

我有 VS 2010 SP1

更新:这不是关于Enumerable ,而是关于任何 object。 我可以尝试编写new object(). 并有同样的问题。

我可以用 VS2010 SP1 和一个全新的项目重现这个错误:

class Program
{
    static void Main(string[] args)
    {
        Action t = () =>
        {
            foreach (var item in Enumerable.Range(1, 10))
            {
            }
        };
    }
}

删除“.Range(1, 10)”并输入“.” 您应该会看到 Intellisense 选项,但没有。 但是,如果您将表达式分配给临时变量,它会按预期工作。 遵循 Hans 的建议并提交错误报告。

即使您键入foreach的打开和关闭括号,您也可以获得智能感知。 要使智能感知正常工作,您需要在空白处输入内容。

例如: foreach then ()然后 go 回到()并开始输入var x in ... 没有智能感知,但是, foreach then ( )带有一个空格,然后 go 回到( )并在(之后开始输入。 ..现在你得到了智能感知。

这是 C# 设置的行为。 不确定其他语言的设置。

我发现只要您不关闭括号,智能感知就适用于 foreach。 我的习惯是输入foreach(),然后填上括号。 但是,如果我这样做智能感知不起作用,那么如果我编写 foreach (然后是代码,然后是),那么它就可以工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM