【发布时间】:2020-10-29 11:15:07
【问题描述】:
在 C# 中,我经常使用“Try...”方法通过 out 变量检索值。例如,Dictionary 上的 TryGetValue 方法。我注意到 Visual Studio 2019 IntelliSense 显示了合理的输出参数类型和默认变量名称,例如下面示例中的out SubscriptionItem value。但是,我想不出一种方法来自动完成它并以扩展的 sn-p 的方式接受建议的参数定义。
有没有办法在不手动输入 IntelliSense 已经建议的内容的情况下自动完成此操作?
【问题讨论】:
-
一种选择是输入
var value。不如自动完成快,但打字速度很快。 -
and accept the suggested parameter definition我的书呆子迫使我强调不是建议的参数定义。它是TryGetValue函数(您正在调用的方法)的定义。 -
是的,可以使用 var 并接受建议的名称,然后快速重构为显式类型。即便如此,我很想知道这里是否可以实现真正的自动完成......
-
你不需要重构。
var关键字在此上下文中与SubscriptionItem一样明确。当你使用var时,你总是在创建一个强类型变量。该调用中唯一可接受的类型是SubscriptionItem,因此当您说out var value时,它与out SubscriptionItem value完全相同。如果可以自动完成,您应该能够键入“S”,然后键入<tab>并获得自动完成的类型类型。如果它不起作用,那么...... -
我刚试过。你没有得到神奇的自动完成,但它很接近。如果您键入
out<space>,则不会弹出任何内容。但是,如果此时您按下 “嘿,帮我自动完成这个” 序列<ctrl>+<space>,您会得到一个无用的自动完成列表。但是,如果您随后键入第一个字符,则可以很好地猜测您想要什么。同样,如果你输入out<space>S<tab>,你会得到一个很好的猜测自动完成列表。自从out var进入该语言以来,我几乎只将它用于这种参数 - 它更容易记住和输入。
标签: c# visual-studio autocomplete intellisense