c# - 每个继承接口的类不应该实现所有接口成员吗?
问题描述
ClassTemp1
和 和有什么不一样ClassTemp2<T>
?
我认为每个实现接口的类都应该实现所有接口成员,但ClassTemp2<T>
没有错误。为什么?
public interface ITemp : IComparable
{
void Temp();
}
public class ClassTemp1 : ITemp // Error
{
}
public class ClassTemp2<T> where T : ITemp // No Error
{
}
解决方案
该类ClassTemp2
没有继承或实现任何接口。只是你的“参数类”T
实现它。
换句话说:ClassTemp2
可以用它的方法做一些事情T
,特别是调用它自己的Temp()
方法T
中的方法。
ClassTemp2
不“拥有”或“实现”ITemp
接口。只是,“参数类”T
会,而不是ClassTemp2
.
我希望,这有帮助。
推荐阅读
- python - 如果我有一个用斜线分隔的交易对列表,我如何将每条腿设为变量?
- python - 在不使用表单的情况下将 HTML 复选框值发送到烧瓶
- excel - vlookup 多个值并将它们与一个参考相加
- angular - Angular 循环依赖 - 组件相互调用
- python - python 3.8 无法使用 pybind11 [windows] 导入
- java - Spring Boot - 将存储库注入控制器抛出考虑在您的配置中定义一个“类型”类型的 bean
- javascript - 一旦用户单击其中一个选择项,我如何从 javascript 中删除选择项
- javascript - Javascript 事件监听器覆盖另一个事件监听器
- python - 将IP地址转换为字符串python
- python - 我正在尝试将 reactjs axios 与 django rest 框架连接以发出发布请求。但我收到 POST 400(错误请求)