Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 重新指定已继承的接口有什么意义吗?_.net_Oop_Interface - Fatal编程技术网

.net 重新指定已继承的接口有什么意义吗?

.net 重新指定已继承的接口有什么意义吗?,.net,oop,interface,.net,Oop,Interface,我是C#的粉丝,但我想这是一个面向对象的问题: 在下面显示的代码中,重新指定B类实现接口I有何意义 interface I { } class A : I { } class B : A, I { } 据我所知,答案是否定的,除了可读性之外,如果一个类实现了许多接口,并且您希望在声明该类时强调一个特定的接口。没有,除了泛型约束(可能语法错误,但您会明白这一点-我认为(从内存中)约束在继承和应用约束方面有一些特性) 不,事实上,像ReSharper这样的工具将向您展示I的第二个实现是冗余的。不,

我是C#的粉丝,但我想这是一个面向对象的问题:

在下面显示的代码中,重新指定
B类
实现
接口I
有何意义

interface I { }
class A : I { }
class B : A, I { }

据我所知,答案是否定的,除了可读性之外,如果一个类实现了许多接口,并且您希望在声明该类时强调一个特定的接口。

没有,除了泛型约束(可能语法错误,但您会明白这一点-我认为(从内存中)约束在继承和应用约束方面有一些特性)


不,事实上,像ReSharper这样的工具将向您展示
I
的第二个实现是冗余的。

不,没有。事实上,当您不断地重新声明接口时,尤其是当继承链变大时,它可能会变得有点混乱。如果您想强调类实现了一个重要的接口,可能有一种方法是在注释中为类添加摘要字段中的信息,以便工具提示显示。

我认为这也令人困惑:对我来说,这意味着类a没有实现接口。
public T MethodName(T gen) where T : I
{

}