作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
public interface IFoo
{
void Foo(bool flag = true);
}
public class Test : IFoo
{
void IFoo.Foo(bool flag = true) //here compiler generates a warning
{
}
}
警告说给定的默认值将被忽略,因为它在不允许它的上下文中使用。
为什么显式实现的接口(interface)不允许使用可选参数?
最佳答案
显式实现的接口(interface)方法总是被调用,其编译时类型是接口(interface)的目标,而不是特定的实现。编译器查看由它“知道”正在调用的方法声明的可选参数。当它只知道目标表达式是 IFoo
类型时,您如何期望它知道从 Test.Foo
获取参数?
IFoo x = new Test();
x.Foo(); // How would the compiler know to look at the Test.Foo declaration here?
关于c# - 显式实现的接口(interface)中的可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12730458/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!