问题标签 [casting]

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

c++ - 检查 X 是否通过 typeid 从 Y 派生

我需要将指针转换为 long (SendMessage()),并且我想安全地检查另一侧的变量是否正确。所以我正在考虑做 dynamic_cast 但这不适用于非虚拟的类。然后我想到了做 typeid 但这将工作,直到我将派生的 var 作为它的基础。

有什么方法可以检查指针是否是我在运行时所期望的?有没有办法我可以使用 typeid 来查看指针是否是从特定基派生的类型?

0 投票
1 回答
2675 浏览

objective-c - 为什么我需要将 self 转换为 id?

我有一个带有 (id) 参数的 init 方法:

我试图这样称呼它:

但是 XCode 抱怨该参数是“不同的 Objective-C 类型”(这通常表示类型不匹配或间接错误级别)。

如果我明确地将 self 转换为 (id),警告就会消失。在任何一种情况下,代码都会按预期运行。有趣的是,在下一行中,我将 self 传递给另一个也采用 id 的方法,并且效果很好。

我想知道我是否遗漏了一些微妙的东西——或者它是编译器的一个特性?

在我确定它是必要的原因之前,我并不完全舒服地施放它。

[编辑]

我被要求提供更多代码。不确定还有很多其他相关的。这是我进行调用的实际代码。请注意,它本身位于 init 方法中。这是initWithSource发出警告的电话:

这是被调用的 init 方法:

0 投票
2 回答
358 浏览

c++ - 不一致导致的static_cast混淆

为什么每当我在 Visual Studio 2008 中编译和运行以下代码时:

当答案是 25 时,我得到了一个不正确的值 26。

但是,当我在双打上使用静态强制转换时,我得到的正确答案是 25。

如何解释错误的输出?

0 投票
1 回答
872 浏览

type-conversion - C#中的类型转换

我正在尝试为类型转换创建一个通用方法,该方法获取一个对象和要转换的对象类型。

通过使用Convert.ChangeType()我可以做我想做的事,但是在运行时需要太多时间。制作我想要的通用类的最佳方法是什么。

我的旧代码看起来像这样;

编辑:澄清...

对于前; 我已经执行了我的查询,它返回了一个 DataRow。并且有一列输入为十进制,我想将其转换为长。如果我调用此方法,则将十进制转换为 long 需要花费很多时间。

并且该方法的 T 类型只能是值类型。我的意思是“T:结构”

0 投票
5 回答
12132 浏览

java - 我应该如何转换具有多个边界的 Java 泛型?

是否可以将 Java 中的对象转换为组合的泛型类型?

我有这样的方法:

如果我有一个实现两个接口(Foo & Bar)的类,调用这个方法是没有问题的。

问题是当我需要调用此方法时,我需要传递给它的对象被接收为java.lang.Object,我需要对其进行强制转换以使编译器满意。但我不知道如何制作这个演员表。

编辑:

问题在于这样的函数:

}

0 投票
6 回答
338 浏览

c#-3.0 - 如何实现一个接口来处理类型转换类?

我想将类的 tType 传递给函数,并将类对象传递给泛型函数。

我需要能够转换为该类型(类),以便我可以访问该类的方法。

就像是:

为这些类实现一个接口然后转换为该接口是否可行?如果是这样,有人可以举个例子吗?

过去几个小时我一直在谷歌搜索,我以前从来没有这样做过。

有人可以阐明一下吗?

0 投票
3 回答
16027 浏览

c# - 检查 C# 中的任何 int 类型?

我有一个函数,除其他外,它接受一个对象和一个类型,并将对象转换为该类型。然而,输入对象通常是一个双精度类型,并且类型有一些 int 变体(uint、long 等)。如果将整数作为双精度(如 4.0)传入,我希望它能够工作,但如果传入小数(4.3)则抛出异常。有没有更优雅的方法来检查 Type 是否是某种 int?

谢谢。

0 投票
4 回答
2211 浏览

c# - 是否有一种对象,我可以将 Buttons 和 MenuItem 对象都投射到该对象上以访问它们的 Tag 属性?

我想将 MenuItem 对象和 Button 控件对象都转换为我可以引用其“Tag”属性的对象类型。

有这样的对象类型吗?

例如

除了这失败 - “无法将对象类型'System.Windows.Forms.MenuItem'转换为'System.Windows.Forms.Control'

在这个例子中什么可以代替 Control?

0 投票
3 回答
9072 浏览

c# - 为什么我必须在 C# 中将枚举转换为 int?

这是我的代码:

有没有办法阻止铸造?

0 投票
9 回答
655803 浏览

c++ - 什么时候应该使用 static_cast、dynamic_cast、const_cast 和 reinterpret_cast?

什么是正确的用途:

  • static_cast
  • dynamic_cast
  • const_cast
  • reinterpret_cast
  • C型演员表(type)value
  • 函数式强制转换type(value)

如何决定在哪些特定情况下使用哪个?