问题标签 [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.
vb.net - VB.net Option Strict, listview.items.add(itm.clone) 重载
在 VB.net (2012) 我有以下代码:
使用Option Strict On我收到以下错误:
错误 2 重载解析失败,因为无法使用以下参数调用可访问的“添加”:“公共可覆盖函数添加(值作为 System.Windows.Forms.ListViewItem)作为 System.Windows.Forms.ListViewItem”:Option Strict On 不允许隐式转换从“对象”到“System.Windows.Forms.ListViewItem”。'Public Overridable Function Add(text As String) As System.Windows.Forms.ListViewItem':Option Strict On 不允许从 'Object' 到 'String' 的隐式转换。
我可以做一个 lvMerges.Items.Add(itm) ,它不会引发错误,但是我必须将它从 lvCustomers 列表视图中删除,我不想这样做。
有人可以解释我如何在不关闭Option Strict 的情况下使其正常工作吗?
目标是使用所有子项复制 ListviewItem。
vb.net - Option Strict 关于泛型类型直到运行时才知道的问题
我的以下代码已经运行了好几个月,但是我忘记了创建这个类,Option Strict On
所以现在我要回去正确地清理我的代码,但是我无法找到解决以下问题的方法。
我有一个像这样声明的局部变量:
现在使用选项严格,由于没有我理解的子句,这是不允许的As
,但是之所以这样,是因为将分配给它的类的实例需要一个类型参数,直到运行才知道时间。这是通过以下代码解决的:
由于后期绑定,选项 strict 再次引发了一些错误,但是一旦我可以成功_manageComplexProperties
正确声明变量,就应该使用强制类型转换来清除它们,但由于类型参数未知,我似乎无法获得有效的解决方案,直到运行。任何帮助,将不胜感激。
vb.net - 从 txt 文件中读取并使用公共函数
大家好,我这里有一些代码,可以从文件中引入一行文本并显示到标签中。我想将标签中的八个值相加并除以 8 以获得平均值,并将该平均分数转换为将显示在新标签中的字母等级。我需要帮助的代码在 btnCal 程序中。
这是我的代码:
vb.net - FileHelpers Master/Detail - Option Strict On 不允许后期绑定
我在确定如何删除使用 FileHelpers 时出现的错误以及选项严格打开时遇到了一些问题。
我初始化了 MasterDetails 类
调用 MasterDetailEngine 的函数
这是大师的课程:
这一个,对于细节:
每个主/明细将创建一个带有标题和相关行的新文档。
当我调用 Master 或 Details 类的成员时,我可以举一个出现错误的示例:
例如,调用_res(numdoc).Master.refDoc
给了我错误:“ Option Strict On 不允许后期绑定”
关于我需要修改什么以便错误消失的任何想法?
谢谢
vb.net - VB->Option strict 和 LINQ 结果
我最近被介绍到 LINQ,并获得了一个示例,如何在对数据库执行查询后搜索错误消息。代码如下所示:
现在,当我使用Option strict ON时,我在这一行的“错误”对象上得到一个错误:
这对我来说很自然。因此,我尝试将代码更改为:
现在,当我运行它时,我得到了这个错误:
那么,在我看来,在运行时将 LINQ 查询转换为另一种类型不起作用?这样做并保持Option strict ON的正确方法是什么?
.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 平台编译的。
这是我在这个网站上发布的第一个问题,尽管我多年来一直使用它并取得了巨大的成功。提前感谢您的任何建议。
vb.net - “Option Strict”是否依赖“Option Infer”来检测未声明的变量?
这是我从这段简单的代码中得到的特殊结果。
假设您要创建一个字符串类型的变量,而不将其声明为字符串。您可以这样做并且不会从编译器中得到任何错误:
您也可以这样做并且不会出现任何错误:
但是,当您结合使用Option String On和Option Infer Off时,会出现错误:
为什么Option Strict需要与Option Infer结合使用?特别是当错误明确指出以下错误是“Option Strict”类型时。为什么Option Strict不能单独将该行发现为错误?
vb.net - Late binding in query
Yes I know what Option Strict
does and I use it quite often. My issue is stemming from my Linq
query and I can't seem to figure out how to get it from throwing up. I am wanting to get all DataRows
in a given table where a row's id equals an id I give it. Also this query works just fine without Option Strict
on a I get the rows I need, but I want to have it on.
The error: Option Strict on disallow's late binding
Here's what I have right now...
The error is happening underneath: cRow(childTableKey)
I know what the error mean's as well, but can't seem to figure how to stop it from seeing it as an error. I have tried casting it and such already as well...
wpf - 有没有办法使用 EventManager 并且仍然保持 Option Strict On
使用 Wpf 和 MVVM。我有一个主窗口,其中碰巧有一个 Actipro Docksite(尽管我相信这个问题的整体背景可能无关紧要)。码头站点有一个我希望处理的 WindowClosing 事件,但在这种特殊情况下,我确实需要访问与该事件相关的事件参数。
现在,当我在 WPF 和 MVVM 的陡峭学习曲线中跌跌撞撞时,我发现我可以使用交互来处理这样的事件;
但问题在于,虽然我可以通过交互捕获 windowClosing 事件,但我看不到如何将事件 args 作为命令参数传递。我知道我可以在后面的代码中处理这个问题,但是我会陷入各种各样的痛苦,试图将 evet agrs(或者至少是我想要 bavk 的特定事件 arg 传递给视图模型。
所以我做了一些研究,偶然发现了 EventManager 并决定尝试用它做一个实验。
在我的主窗口视图模型的构造函数中,我添加了以下内容;
再往下
令我高兴的是,这证明是有效的,但前提是我为视图模型文件关闭 Option Strict。有什么方法可以使用 EventManager 而无需关闭选项 Strict?
编辑:
我得到的错误信息是;Option Strict On 不允许缩小方法 'Private Sub OnDockSiteWindowClosing(sender As Object, e As ActiproSoftware.Windows.Controls.Docking.DockingWindowEventArgs)' 和委托 'Delegate Sub RoutedEventHandler(sender As Object, e As System.) 之间的隐式类型转换。 Windows.RoutedEventArgs)'
谢谢
wpf - WPF DataGridRow.Item("xx") - Option Strict On 不允许后期绑定
使用 DataGrid 的 WPF 应用程序。用户双击一个单元格,我需要获取该行中另一个单元格的值。
所以现在,我有行,我想从特定列中获取值:
这让我“Option Strict On 不允许后期绑定”没有更正选项。它适用于 Option Strict Off。我已经尝试了以下所有方法来纠正它:
但是,在所有这些情况下,红色波浪线都保留在 dgRow.Item("xx") 下。
感谢任何输入,包括解决此问题的替代方法。
更新
这是最终起作用的代码。我查看了 Item 属性的类型,它是 DataRowView。感谢马克在下面的回答。
这使我可以在没有后期绑定错误的情况下执行此操作: