问题标签 [directcast]

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 投票
3 回答
2164 浏览

vb.net - 我可以以编程方式为 DirectCast 命令设置对象类型吗?

我正在帮助一位同事为他的应用程序的某些控件开发“包罗万象”类型的错误处理程序。他想要做的是传递有错误的对象,以及该对象的类型,例如 TextBox 或 ComboBox,然后在他的处理程序中调用 DirectCast 方法以正确处理其中的 Text 属性。通常,该方法如下所示:

到目前为止,任何在 DirectCast 方法中进行类型转换的尝试(因为它需要通用签名中的对象)甚至传递正确设置的 Type 对象都不起作用。

这里有任何想法,或者这是那些“铸造不起作用”中的一个。类型场景?

0 投票
1 回答
11672 浏览

vb.net - Directcast 和 Ctype 与枚举的区别

为什么CType工作和DirectCast不具有相同的语法?但是,如果我将 theselectedValue转换为int之前的 i DirectCast,那么它就可以了

问候

_埃里克

0 投票
1 回答
390 浏览

vb.net - DirectCast 在编译时不接受有效的强制转换(VB.NET)

为什么这不是有效的 DirectCast:

而这是:

0 投票
2 回答
438 浏览

vb.net - 隐式 VB 性能问题

有时我必须实现一个接口或继承一个基本方法需要一个对象的虚拟(MustInherit),而我知道我将传递的值将始终是一个整数,例如。

以下示例中的最佳性能应该是什么:

注意事项:

  • 选项 1:不进行强制转换,但可能不太合适,是否会降低性能?
  • 选项 2:在类型已知但感觉更安全的情况下进行投射。

注意:请不要评论“你为什么不想以不同的方式实现它”等等。我的问题不是如何做到这一点,我没有找到如何提问的例子,我的问题只是什么选项应该是正确的,什么会花费更多的性能。

0 投票
2 回答
735 浏览

.net - vb.net 中的直接广播

我有 1 个 a.master 页面和 1 个 b.aspx 及其 b.aspx.vb 页面。我在 a.master.vb 中有以下属性

在我的 b.aspx.vb 页面中

但是当我打开 a.aspx 页面时,它显示的是文本 /images/img1.png 而不是图像。我如何让它显示我想要的图像

0 投票
1 回答
143 浏览

visual-studio-2008 - 如何让 Resharper 显示它已经拥有的重构

每当 Resharper 遇到这样的代码时:

它为您提供了一个可能的修复(因为 treeListNode.Tag as GridLine 可能为空)。它说:“替换为直接投射”,它将代码变成以下内容:

这很棒。但是,当它遇到这样的代码时:

Resharper 只是显示一个警告“可能的 System.NullReferenceException”,但没有让我“用 Direct Cast 替换”。有没有办法让 Resharper 为我提供这种重构,因为它已经有了它?

0 投票
11 回答
47773 浏览

c# - C# 相当于 VB.NET 的 DirectCast

C# 是否与 VB.NET 的 DirectCast 等效?

我知道它有 () 强制转换和 'as' 关键字,但它们与 CType 和 TryCast 一致。

需要明确的是,这些关键字执行以下操作;

CType/() casts:如果它已经是正确的类型,则进行转换,否则查找类型转换器并调用它。如果未找到类型转换器,则抛出 InvalidCastException。

TryCast/"as" 关键字:如果是正确的类型,则强制转换,否则返回 null。

DirectCast:如果它是正确的类型,则进行强制转换,否则抛出 InvalidCastException。

在我阐明了上述内容之后,仍然有人回应说 () 是等价的,所以我将进一步解释为什么这不是真的。

DirectCast 仅允许在继承树上缩小或扩大转换。它不支持像 () 那样跨不同分支的转换,即:

C# - 编译并运行:

VB.NET - 这不会编译

在 VB.NET 中与我的 C# 代码等效的是 CType:

0 投票
4 回答
40471 浏览

vb.net - 使用 DirectCast、CType、TryCast 转换数据类型

自从我在 2005 年从 VB6 迁移到 VB.NET 以来,我一直在使用 CType 从一种数据类型转换为另一种数据类型。我这样做是因为它打字速度更快,曾经存在于 VB6 中,如果它们之间显然没有区别,我不知道为什么我必须使用 DirectCast。

我偶尔会使用 TryCast,因为我知道有时投射可能会失败。但是,我无法区分 CType 和 DirectCast。

谁能用简单的英语告诉我两者(CType 和 DirectCast)的区别是什么?添加在哪里使用什么的示例也会有所帮助。

0 投票
3 回答
88387 浏览

vb.net - VB.NET 中 DirectCast() 和 CType() 的区别

我是一位经验丰富的 C/C++/C# 程序员,刚刚进入 VB.NET。我通常使用 CType(和 CInt、CBool​​、CStr)进行转换,因为它的字符较少,并且是我接触到的第一种转换方式,但我也知道 DirectCast 和 TryCast。

简单地说,DirectCast 和 CType 之间有什么区别(演员、性能等)吗?我理解 TryCast 的想法。

0 投票
1 回答
958 浏览

asp.net - DetailView 错误:对象引用未设置为对象的实例

我正在尝试更新用户信息并收到以下错误:

你调用的对象是空的。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.NullReferenceException:对象引用未设置为对象的实例。

源错误:

第 20 行:'无参数构造函数第 21 行:第 22 行:
user.Email = DirectCast(e.NewValues(0), String) 第 23 行:user.Comment = DirectCast(e.NewValues(1), String) 第 24 行:user. IsApproved = CBool​​(e.NewValues(2))

.vb 代码是:

下面是 detailView 的 .aspx 代码:

知道我该如何排序吗?

任何帮助将不胜感激。

谢谢