C#指定父类与接口之间的差异
在C#中,指定继承的父类的方式与在类定义后指定带有“:”的接口的方式相同 公共类MyClass:父类 公共类MyClass:SimpleInterfaceC#指定父类与接口之间的差异,c#,C#,在C#中,指定继承的父类的方式与在类定义后指定带有“:”的接口的方式相同 公共类MyClass:父类 公共类MyClass:SimpleInterface 那么,如何判断冒号后面的项目是父类还是接口呢?规则是以大写字母I开头接口的名称,I后面的第一个字母也是大写字母:IDictionary,IList。这种模式很容易识别,应该遵循 此外: 一个类只能有一个基类,但可以实现多个接口。逗号后的所有内容都必须是一个接口:class子类:基类、IInterface1、IInterface2 在大多数现
那么,如何判断冒号后面的项目是父类还是接口呢?规则是以大写字母I开头接口的名称,I后面的第一个字母也是大写字母:
IDictionary
,IList
。这种模式很容易识别,应该遵循
此外:
- 一个类只能有一个基类,但可以实现多个接口。逗号后的所有内容都必须是一个接口:
class子类:基类、IInterface1、IInterface2
- 在大多数现代IDE中,接口标识符的颜色是不同的
- 大多数现代IDE在鼠标悬停或使用“goto definition”命令时提供此信息
关于问题标题中的“指定差异”,这在声明中有详细说明。即使您偏离了命名约定,也不能在同一名称空间中有相同名称的接口和类或结构。不需要在类声明的继承列表中按语法进行区分。除了建议的内容之外,您可以使用如下属性
typeof(MyClass).BaseType.IsInterface
单击:后面的名称,然后按F12。VS将跳转到它的声明。如果您在声明中读到单词
接口
,则您的嫌疑人是一个接口。否则它将是一个类通常接口的前缀为“I”male:Person
vsmale:IPerson
如果它是一个接口,那么当您试图构建代码而没有实现接口方法时,您就会知道。另外,visual studio intellisense应该能够通过将鼠标悬停在父类
或SimpleInterface
上来告诉您,它在VS中也有颜色编码,或者使用“Peek定义”,“谁能告诉”来告诉您何时?你的意思是在编写代码、编译或运行时?