簡體   English   中英

C#指定父類與接口之間的區別

[英]C# specifying difference between parent class vs interface

在C#中,您可以通過在類定義之后用“:”指定接口的方式來指定用於繼承的父類。

公共類MyClass:ParentClass

公共類MyClass:SimpleInterface

那么,如何分辨冒號后面的項目是父類還是接口?

規則是以大寫字母I開頭的接口名稱,以及以I開頭的名稱的第一個字母: IDictionaryIList 這種模式很容易識別,應該遵循。

此外:

  • 一個類只能有一個基類,但可以實現多個接口。 逗號后的所有內容都必須是接口: class Subclass : Baseclass, IInterface1, IInterface2
  • 在大多數現代IDE中,接口標識符的顏色不同
  • 大多數現代IDE在鼠標懸停時或通過“ goto definition”命令提供此信息。

關於問題標題中的“指定差異”,在聲明中指定。 即使您偏離命名約定,也不能在同一名稱空間中具有相同名稱的接口和類或結構。 無需在類聲明的繼承列表中通過語法進行區分。

單擊“:”后面的名稱,然后按F12 VS將跳轉到它的聲明。 如果您在聲明中讀到interface一詞,那么您的懷疑對象就是接口。 否則將是一堂課

除了建議的以外,您可以使用IsInterface屬性,例如

typeof(MyClass).BaseType.IsInterface

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM