2012-04-20 68 views
0

当调用与具有委托,使用兰巴语法签名方法,Visual Studio 2008的替代我的任意参数名称与自动完成的名称。LAMBDA参数和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,所以我可以输入这些类型的lambas,而不必按Esc来撤消自动完成,同时仍然有自动完成正常的代码工作?

回答

1

尝试按CTRL + ALT +空格在一起,这不会禁用自动完成,但为了自动完成,你需要从列表中选择。

0

,而不是括号包围你的lambda表达式,你可以附上你的拉姆达的函数体的大括号,就像这样:

private void doSomethingWithADelegate(Action<int, int> myFunc) 
{ 
    // ... 
} 

void Foo() 
{ 
    int a = 0; 
    doSomethingWithADelegate((x, y) => { a = a + x + y; }); 
} 

当我使用这个语法,智能感知不会尝试做任何改变输入后“(x,”