问题标签 [option-infer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2413 浏览

vb.net - 混合 VB.NET 的 Option Strict 和新的 Option Infer 指令的最佳方式是什么?

在一个相关问题中,我的团队即将(希望)开始使用 LINQ,我想利用匿名类型。混合 VB.NET 的 Option Strict(我们在项目的整个生命周期中一直在使用)和新的 Option Infer 指令的最佳方式是什么?

0 投票
2 回答
1816 浏览

asp.net - 如何在没有代码隐藏文件的 VB.NET aspx 页面中打开 Option Strict / Infer?

嗯,我猜我的问题在标题中:

如何在没有代码隐藏文件的 VB.NET aspx 页面中打开 Option Strict / Infer?

0 投票
5 回答
9345 浏览

vb.net - 最佳实践:期权推断

您认为在您的项目中使用 Option Infer 的最佳实践是什么?

在 Visual Studio 2008 中,Option Infer 是一个指令,它允许编译器通过查看分配给它的内容来推断已声明变量的数据类型。

这是 VS2008 中的一个关键特性,广泛用于 LINQ 语句和查询。但是,打开 Option Infer 可能会给未来的维护程序员带来陷阱。

0 投票
3 回答
6276 浏览

.net - 选项推断开还是关?

可能重复:
最佳实践:Option Infer
混合 VB.NET 的 Option Strict 和新的 Option Infer 指令的最佳方法是什么?

我正在开发一个旧的解决方案,它是从 VB6 翻译到 VB.NET。

实际上,文件中的默认选项是

我想使用 LINQ,发现也更容易使用Option Infer On.

少写,少(所以,更容易)阅读。

但是,团队中的一个(在我看来是保守的)部分保持 Option Infer Off 并坚持根本不使用它,而没有明确解释原因。

在您看来,使用 Option Infer On 以及其他两个选项(Strict 和 Explicit,都 On)有什么“危险”?

0 投票
2 回答
648 浏览

vba - 选项推断开启

选项推断在 VBA 中不起作用吗?

我正在尝试在 Microsoft Access 中测试有关数组的 VB 教程代码。

如果没有 Option Infer ON,这将不起作用,但如果添加它,则会出现编译错误。

总菜鸟问题。

0 投票
0 回答
89 浏览

.net - 给定相同程序集和数据的一台机器上的无效铸造异常

我遇到了一种不寻常的情况,即相同的代码在特定机器上的行为不同。该程序是用 VB.NET 和 WF4 编写的。工作流 XAML 在运行时从数据库中读取并动态编译。我提到这一点只是为了在相关的情况下为我的问题提供背景信息。

具体来说,WF 中抛出的异常是:

从 'System.Double' 到 'System.Nullable`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] 的无效转换

调试程序很困难,因为这台机器归另一个组织所有,用户几乎没有时间帮助我。我相信当 double 类型的 WF 变量传递给我编写并通过 WF 参数公开的方法时会发生异常。方法参数的类型为 Nullable(Of Double)。

有问题的代码已安装并定期在多个不同组织的多达 100 台计算机上运行。只有在这台特定的机器上,它的行为才会有所不同。

我想知道编译选项 Option Explicit、Option Strict 和 Option Infer 是否可能是异常的来源。由于对此机器上的 .net 框架部署进行了一些特定的配置更改,是否有可能在这台有问题的机器上覆盖这些编译选项中的一个或多个的值?这些选项的行为以及它们在运行时可能对 JIT 编译器产生的任何影响并不是我特别了解的框架领域。

这些程序集以 .net 4.0 为目标,并使用 VS2010 SP1 编译。有问题的机器正在运行 Win7 64 位。该程序集是为发布和 x64 平台编译的。

这是我在这个网站上发布的第一个问题,尽管我多年来一直使用它并取得了巨大的成功。提前感谢您的任何建议。

0 投票
1 回答
261 浏览

vb.net - “Option Strict”是否依赖“Option Infer”来检测未声明的变量?

这是我从这段简单的代码中得到的特殊结果。

假设您要创建一个字符串类型的变量,而不将其声明为字符串。您可以这样做并且不会从编译器中得到任何错误:

您也可以这样做并且不会出现任何错误:

但是,当您结合使用Option String OnOption Infer Off时,会出现错误:

为什么Option Strict需要与Option Infer结合使用?特别是当错误明确指出以下错误是“Option Strict”类型时。为什么Option Strict不能单独将该行发现为错误?

0 投票
1 回答
197 浏览

.net - 可以重写 LINQ 以避免带有“Option Infer Off”的 MissingMemberException?

这是将字符串简单地编码为正则表达式中可接受的文字的编码器。与. Option Infer On_ Option Infer Off_ MissingMemberException: No default member found for type VB$AnonymousDelegate_1(Of Char, String)

LINQ 表达式是否可以重写以使用Option Infer Off? 我想保持关闭,因为我认为Option Infer On大型遗留项目/库存在风险。(或者我错了吗?)

这是该方法的代码:

这是我尝试过的 LINQ 更改(但问题仍然存在):

0 投票
0 回答
41 浏览

vb.net - 微软代码分析。Option Infer 是否作为规则存在?

我最近遇到了一个错误,原因是在我的 VB.NET 项目的 For Each 循环中意外重用了一个变量。

此代码将输出 '3' 我应该为 For Each 循环使用不同的变量名。该循环正在修改在其他地方用于其他目的的变量。

我可以通过关闭 Option Infer 来防止这种行为。然而,这在我正在处理的一个中等规模的项目中引入了很多(3000 ish)错误。

我更喜欢的是一个代码分析规则,它在没有类型声明的情况下标记 For Each 的使用。

我快速浏览了 Visual Studio 2017 提供的代码分析规则,但看不到规则。我担心我可能不得不创建一个自定义规则。

在我开始使用自定义规则之前,任何人都可以澄清规则不存在吗?

0 投票
1 回答
34 浏览

vb.net - 为什么推断不适用于静态但适用于暗淡?

工作正常

没有

有效,因为选项推断已打开。

我认为它应该适用于暗淡和静态。

这是 vb.net 中的错误吗?