- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果您有一个名为 - 例如 - IInterface
的接口(interface),在 C# 中编写如下代码是完全合法的:
var i = default(IInterface);
但它总是返回null
。
允许这样的表达式具有唯一结果的目的是什么?接口(interface)也可以由数字或结构类实现,默认的 null
不可用。那么...除了选择允许语言中的 default(IInterface)
之外还有什么原因?
最佳答案
为泛型引入了 default(T)
运算符。
如果 T
是类型参数,它将返回 null
引用类型或 new T()
值类型。
一旦运算符存在,就没有理由将其限制为仅适用于类型参数,因此它适用于所有类型。
关于c# - C# 中 default(IInterface) 的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40468558/
我继承了一个相当大的代码库,大量使用了 Autofac。我发现了一些有趣甚至有点令人费解的事情。 我有一个类 public class ClassA { public ClassA(IEnum
为什么我在 (Func) 之间会出现不明确的调用错误和 (Func>)对于下一个代码示例?以及如何在不替换方法组调用的情况下避免此错误? public class Program { publ
由于导入类型库,我有很多接口(interface)。所以,接口(interface)是这样的: ISomeCollection = dispinterface ['{6592E851-3D
我定义了一个 ISerializeDeserialize 接口(interface),一些类继承了通用接口(interface)。我还有一些使用 CodeDomProvider 生成的代码生成程序集,
如果您有一个名为 - 例如 - IInterface 的接口(interface),在 C# 中编写如下代码是完全合法的: var i = default(IInterface); 但它总是返回nul
看来Delphi 4在system.pas中根本没有IInterface类型 我如何自己定义这种类型以便我可以使用 JEDI? 最佳答案 IInterface 是在 Delphi 4 之后引入的。对于
在我的用例中,有一个接口(interface) IInterface 和一个以 List 作为键、以 IInterface 作为值的映射。 public interface IInterface{
为什么 DoesntWork() 不能在下面工作?错误是:无法将类型“List”隐式转换为“IEnumerable”。存在显式转换(是否缺少强制转换?)。我知道这是关于我没有得到的通用/模板的东西,但
如果我有以下接口(interface)和实现它们的类 - IBase = Interface ['{82F1F81A-A408-448B-A194-DCED9A7E4FF7}'] End; IDeri
我有接口(interface) IChild和 IParent . IParent有一个成员是 List . 我希望有实现 IParent 的类每个类都有一个实现 IChild 的成员: public
在 C# 中,我有一个使用 generics 传入 T 的函数,我想运行一个检查以查看 T 是否是一个object 实现了一个 interface,如果是的话调用那个 interface 上的 met
我是一名优秀的程序员,十分优秀!