问题标签 [option-strict]

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 投票
1 回答
595 浏览

vb.net - 在 Object 上声明的扩展方法需要比其他方法多一个参数?

Object 上的扩展方法可以在 Object 上声明,但不能像obj.ExtMethod(). 这是设计使然。另一方面,也可以使用任何扩展方法,例如ExtMethod(obj). 为什么在Object上声明的扩展方法的调用与在其他类型上声明的扩展方法不同?我正在寻找这背后的逻辑。或者它是一个错误?

要发现差异,请参见下面的示例并将普通ToString1()ToString2()/进行比较ToString3()

课堂使用:


添加的详细信息:(最少完整的工作示例 - 3 个文件 - 包括上述一个)

完整的调用上下文:

完整的调用上下文:与Class1不同的- 没有发布有问题的问题,但效果很奇怪:

完整的调用上下文:模块- 没有问题:

0 投票
1 回答
111 浏览

arrays - 尝试添加到数组时,vb.net 选项严格禁止后期绑定无法关闭

我正在尝试使用数组中的项目构建组合框,但出现此错误:

这是我的代码:

0 投票
1 回答
228 浏览

vb.net - 后期绑定 Vb .Net

试图将我的标签文本设置为 = 特定行和列值的值。我更喜欢使用 Option Strict On 但它不允许后期绑定。想法?

0 投票
1 回答
60 浏览

vb.net - 为什么编译器在构建时不会出错?

我正在使用 VB.NET,顶部是

但是,为什么当我这样做时编译器不会引发错误:-

功能是:-

当然,Int32 是 int 而 int64 是 long 吗?VS 2013 中是否有一个编译器选项可以打开以发现这些?

0 投票
2 回答
33 浏览

.net - 使用 Strict ON 选项在表单上运行子程序

我正在尝试清理我的编码实践,但遇到了我无法解决的问题。

使用严格的选项,您如何找到表单的实例并在所述实例上运行公共子?

例如,在库存包中,我有一个结帐零件的快捷方式,它会查找结帐表单是否打开并运行 Checkout.AddID(ID as Integer)。例如:

这适用于选项严格关闭。但是,打开它并对其进行修改以适应例如:

抛出错误(显然).AddIDToList 不是 Forms.form 的成员。

For Each Form as ProgramNamespace.FRMCheckout当 for 循环遇到正常形式时,更改为会抛出“无法将类型形式转换为 FRMcheckout”。

在不关闭选项严格的情况下完成此操作的方法是什么?

0 投票
0 回答
26 浏览

vb.net - 为什么 WAP Web Forms 项目在不更改代码的情况下无法编译?

在 Visual Studio 2013 中,我通过 File > New Project > Installed.Templates.Visual Basic.Web.ASP.NET Web Application 创建了一个新项目,然后选择了 Web Forms 子选项。

没有对代码做任何事情——没有添加,没有修改——我捣碎了 F5 以确保它运行一个通用页面。相反,我得到了两个相同类型的构建错误,即“ Option Strict On 不允许从 'Boolean' 到 'String' 的隐式转换。”

2 单击第一个将我带到 Manage.aspx.vb 中的这一行:

第二个错误出现在同一文件中的这一行:

在 Redlands 或 Monterey 中,有些东西已经腐烂,因为模板项目无法正确构建。这里发生了什么?

更新

注释掉 Page_Load() 方法中的所有代码可以解决构建问题,但仍然让我开始登录页面,这是我不想要或不需要的。

0 投票
1 回答
56 浏览

.net - 强制传递给方法的数据类型(选项严格)

我正在使用 VS2005 来维护一些 vb.net 代码。我正准备更新到较新的工具集,并首先进行代码清理。

我正在清理所有编译错误消息,但我注意到如果我将字符串传递给需要整数的函数,我不会收到警告。

我该如何强制发出警告?

具体情况是我正在更改这段代码:

我想找到所有没有通过整数的地方。

0 投票
1 回答
1212 浏览

vb.net - 带有赋值和 Option Strict 的暗淡声明

我的代码遇到了问题,如下所示:

我的问题在上面的代码中写成注释。

即使有一个完全空的模块,我也无法启用该Option Strict选项。

我认为解决方案在 Visual Studio 的选项中。

注意:我已经手动翻译了德语的错误消息,所以请期待上述和官方英文版本之间的差异。

0 投票
0 回答
46 浏览

vb.net - 选项严格...有例外吗?

我喜欢使用选项 strict,因为它强加给你的“纪律”。但是在少数情况下,您只是找不到任何选项严格兼容的代码。例如,当您使用 WScript 时,我只知道 CreateObject ……有没有办法在几行上“禁用”严格的选项?

0 投票
1 回答
93 浏览

vb.net - 尽管自上次 Visual Studio 更新以来已关闭,但 Option Strict 似乎被视为打开

自从上周更新我的 Visual Studio 以来,我的所有项目都出现了诸如“ Option Strict On 要求所有方法参数都有一个 'As' 子句”之类的错误,尽管该项目具有 Option Strict “Off”。

它发生在我所有的项目中。

我发现的唯一方法是在编译中将“Option Strict”更改为 On,保存项目,然后将“Option Strict”更改为 Off,然后再次保存项目。这似乎可以解决问题。

还有其他人有同样的问题吗?

Visual Studio 中一个项目的打印屏幕