问题标签 [implicit-conversion]

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 回答
1972 浏览

c# - 隐式转换和 null 的问题

我有这个功能

并写 var.myclass = null;。这会调用隐式运算符并将 null 作为字符串传递,这会对我的代码造成严重破坏(我使用反射并且不想添加特殊情况)。我怎样才能写 myclass = null 而不会导致隐式运算符?

我试着写

但这会导致堆栈溢出

0 投票
2 回答
1318 浏览

c# - IsAssignableFrom 的隐式版本?

在我使用反射的代码中,我写了

我有一个隐式转换为字符串的类。但是上面的 if 语句并没有抓住它。如何通过隐式字符串转换进行反射/上述 if 语句捕获字符串和类?而不是专门的字符串和我知道的每个类?

0 投票
3 回答
3959 浏览

c# - 有没有办法在 C# 中进行动态隐式类型转换?

给定带有隐式强制转换运算符的此类:

我现在可以执行以下操作:

但不是以下内容:

这给出了编译时间:

无法将类型“object”隐式转换为“MyDateTime”。

我感觉合理。

现在我将前面的例子修改如下:

这编译得很好。现在我得到一个运行时InvalidCastException

无法将“System.Int64”类型的对象转换为 MyDateTime 类型。

这告诉我,C# 隐式转换运算符仅在编译时应用,而不是在 .NET 运行时尝试将对象动态转换为另一种类型时应用。

我的问题:

  1. 我对么?
  2. 还有其他方法可以做到这一点吗?

顺便说一句,完整的应用程序是我Delegate.DynamicInvoke()用来调用一个带MyDateTime参数的函数,而我传递给的参数的类型DynamicInvoke是 long。

0 投票
2 回答
769 浏览

c# - 在隐式转换中使用字符串常量

考虑以下代码:

但如果可能的话,我希望能够做到以下几点。

我无法使用 TextType 隐式运算符重载扩展 String 类,但是有没有办法将文字字符串分配给另一个类(由方法或其他东西处理)?

String 是一种引用类型,所以当他们开发 C# 时,他们显然必须使用某种方式来获取类的字符串文字。我只是希望它不会被硬编码到语言中。

0 投票
5 回答
952 浏览

c++ - 停止对运算符删除的隐式强制转换

我的 String 类提供了一个运算符 char* 重载,允许您将字符串传递给 C 函数。

不幸的是,我的一位同事无意中发现了一个错误。

他实际上有以下代码。

有没有办法阻止 delete 将字符串对象转换为 char* 以防止将来出现这样的错误? std::string通过不提供 char 运算符重载来解决这个问题,但理想情况下,我想保持重载但防止删除工作。

0 投票
2 回答
241 浏览

c++ - 隐式转换

我的计划是:-


谁能解释错误消息的含义?

0 投票
3 回答
5616 浏览

c# - 条件运算符不能隐式转换?

我对这个小小的 C# 怪癖有点难过:

给定变量:

以下编译:

但这不会:

错误说:“不能将类型'int'隐式转换为'byte'。”

当然,这个怪物会编译:

这里发生了什么?

编辑:

使用 VS2008,C# 3.5

0 投票
4 回答
7549 浏览

.net - 如何判断 A 型是否可隐式转换为 B 型

给定类型 a 和类型 b,我如何在运行时确定是否存在从 a 到 b 的隐式转换?

如果这没有意义,请考虑以下方法:

这是我想要工作的调用代码:

0 投票
4 回答
361 浏览

java - 为什么一个 char + 另一个 char = 一个奇怪的数字

这是代码片段:

输出是:

为什么会这样?我认为那'a' + 'b'将是"ab","12"3

这里发生了什么?

0 投票
1 回答
917 浏览

java - scala 2.8 隐含 java 集合转换

我对 2.8 beta 的 JavaConversions 有疑问:

然后异常: