问题标签 [implicit]
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.
c# - 为什么 AC# 类可以隐式和显式地从一个接口继承?
今天碰巧发现一个C#类可以隐式和显式地继承一个接口。这让我很惊讶。如果 C# 以这种方式工作,那么一个实例在以不同方式引用时可能表现不同。
上面的代码运行并输出
我相信 C# 的这种设计会使行为不一致。一个 C# 类可能必须以隐式或显式方式从一个接口继承,但不能同时继承。
为什么 C# 以这种方式设计有什么原因吗?
c# - 我们可以在 c# 中定义枚举的隐式转换吗?
是否可以在 c# 中定义枚举的隐式转换?
可以做到这一点的东西?
如果不是,为什么不呢?
c# - 为什么要使用显式接口实现来调用受保护的方法?
在codeplex中浏览 ASP.NET MVC 源代码时,我发现有一个类显式实现接口是很常见的。显式实现的方法/属性然后调用另一个具有相同名称的“受保护的虚拟”方法/属性。
例如,
我现在确定这种编程有什么好处。对我来说,我更喜欢只隐式实现接口 IHttpHandler。
我猜作者只是不希望MvcHandler有一个公共属性IsResuable。属性IsReusable只能在MvcHandler的实例被视为IHttpHandler时使用。不过,我不确定作者为什么会这样。
有人知道这种接口实现方式的更多好处吗?
c++ - 为什么编译器为 L"" 的隐式类型转换选择 bool 而不是字符串?
最近引入了应用程序开始失败的方法的重载。最后追踪它,新方法在我没想到的地方被调用。
我们有
它已更改,以便在存储 bool 值时我们使用相同的字符串(字符串的内部数据存储)
L"" 的问题在于它是隐式转换的,以前它很高兴成为 std::wstring,但它不喜欢成为布尔值。MSVC 编译器不会抱怨或发出警告,所以我担心即使我“修复”了 setValue(L"empty", L""); 成为
其他人可能会稍后再使用 setValue(L"empty", L"" ); 并且不得不再次追查这个问题。
我们曾考虑在方法上使用显式,但它不是此用法的有效关键字。有没有办法让编译器抱怨这个,或者以其他方式阻止这个问题?否则,我正在考虑更改采用 bool 的方法的名称,以确保它不会做出错误的猜测。
c++ - 参数或返回类型隐式转换在 C++ 中是否优先?
如果我有代码:
调用f的哪个重载,为什么?
.net - 隐式运算符和 TypeConverters 是否等效?
在我看来,实现隐式运算符与 TypeConverter 相比非常容易,因此我假设它们不等效,因为 TypeConverters 在框架中很流行(请参阅任何扩展 FrameworkElement 的内容)。
但为什么?创建 string->object 和 object->string 隐式运算符并利用序列化中的那些(XML 和 XAML)不是更容易吗?
是雅格尼吗?单一责任?因为您不能在接口中指定运算符重载?
c# - .Net 隐式转换指南
关于何时可以、应该或不应该定义用户定义的隐式转换的一般准则是什么?
我的意思是,例如,“隐式转换不应该丢失信息”、“隐式转换不应该抛出异常”或“隐式转换不应该实例化新对象”。我很确定第一个是正确的,第三个不是(或者我们只能隐式转换为结构),我不知道第二个。
java - 用Scala隐式包装的Java接口实现的工厂方法?
我正在使用 Scala 隐式为 Java 接口定义一个丰富的包装器:
在伴生对象中,我定义了隐式转换和apply
工厂方法:
有了这个,我可以实例化接口的 Java 实现并像使用它一样RichThing
(由于隐式转换):
我还可以RichThing
使用工厂方法创建一个(由于apply
方法):
我想做的是以相同的方式实例化接口的任意 Java 实现。这不起作用,因为 Scala 然后寻找实现的伴随对象但找不到:
我可以为 Java 实现创建一个 Scala 伴随对象:
但关键是要使该接口适用于任何(特别是未知的)实现。
有没有办法实现这一点?例如,基于对象中的隐式转换为 Java 实现动态创建 Scala 伴生RichThing
对象?
或者从 Java 端创建 Scala 伴生对象,也许在抽象类中?
c# - 字符串和整数,隐式和显式
有一个同事问我这个问题,在我头脑混乱的状态下,我没有答案:
为什么你可以这样做:
但不是:
如果在concatenating时存在字符串转换的隐式转换/操作,为什么在将其分配为字符串时不一样?(当然,不做一些运算符重载)
scala - 如何在 Scala 中将元组隐式转换为向量
我希望能够将数字元组(Ints 和 double)隐式转换为向量对象。
假设一个带有 + 方法的 Vector 类
我的目标是让以下代码工作。
我可以通过Int
以下方式使用它
但是当我添加双精度转换时它失败了
根据 Andri 的建议尝试加倍
我需要做什么才能使其正常工作?