【问题标题】:Force parentheses even when calling parameterless functions in VB.NET?即使在 VB.NET 中调用无参数函数时也强制使用括号?
【发布时间】:2010-11-20 21:08:13
【问题描述】:

在 VB.NET 中,调用无参数函数时可以省略括号。然而,这可能会非常令人困惑,因为开发人员可能认为语句正在访问属性而不是方法。如果您一次又一次地调用该方法而不是将结果存储在临时变量中,这可能会导致性能下降。

在 VS2008 中是否有选项或编译器选项可以在调用方法的语句上强制使用括号?

如果是这样,如果您“格式化文档”(菜单:编辑 - 高级),VS是否也有可能自动插入缺少的括号?

谢谢,toebens

【问题讨论】:

    标签: vb.net visual-studio syntax


    【解决方案1】:

    不,VB.Net 编译器中没有这样的选项。 Parens 是可选的,没有使用它们不会出现警告或错误。

    另一个原因是 VB.Net 是一种语言,它试图灵活并让语法远离用户。这种类型的限制违背了这一普遍理念。

    另一个需要考虑的问题是它不是一个普遍可执行的限制。只要选项 strict 设置为 off,VB.Net 就允许后期绑定方案。在这些情况下,VB.Net 编译器不可能提前确定特定调用是属性、语句还是根本不是有效调用。

    【讨论】:

    • Urrg.这使得转换为 C# 变得更加困难。
    • 这一切(除了后期绑定)都不是一个真正的论据,说明为什么不可能有一个编译时选项来检测这一点,就像语言中的许多其他东西一样随着时间的推移而演变。然后在后期绑定的情况下,这个检查应该是无效的(编译器已经知道它是否是后期绑定并警告它,所以在后期绑定情况下忽略函数检查并不难)
    猜你喜欢
    • 1970-01-01
    • 2019-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    相关资源
    最近更新 更多