Lambda 参数和 Visual Studio 2008 自动完成

本文关键字:2008 Studio 参数 Visual Lambda | 更新日期: 2023-09-27 18:31:42

当使用具有委托的签名调用方法时,使用 lamba 语法,Visual Studio 2008 将我的任意参数名称替换为自动完成的名称。

private void parseIntCell(DataGridViewCell focusCell, Action<Receipt_Detail, int> recorder)

当我键入以下内容时:

parseDecimalCell(focusCell, 2, ((x,

只要我输入逗号,Visual Studio就会把它变成

parseDecimalCell(focusCell, 2, ((XmlReadMode,

我最终想输入的内容

parseDecimalCell(focusCell, 2, ((x,y) => x.Grower_Box_Weight = y));

有没有办法配置我的代码或Visual Studio,这样我就可以输入这些类型的lamba,而无需按esc撤消自动完成,同时仍然具有自动完成功能以进行正常的代码工作?

Lambda 参数和 Visual Studio 2008 自动完成

尝试同时按 CTRL+Alt+空格键,这不会禁用自动完成,但为了自动完成,您需要从列表中选择。

您可以将 lambda 函数的主体括在大括号中,而不是将 lambda 表达式括在括号中,如下所示:

private void doSomethingWithADelegate(Action<int, int> myFunc)
{
    // ...
}
void Foo()
{
    int a = 0;
    doSomethingWithADelegate((x, y) => { a = a + x + y; });
}

当我使用此语法时,智能感知不会在键入"(x,")后尝试进行任何更改。