據我所知,除了.net中的接口外,所有東西都是從對象派生的。但我注意到,當我按「」。出現接口名稱Equals方法後。而當我按F12等於方法時,它將指向對象類中的equals方法。如果接口不是從對象類派生的,那麼equals方法來自哪裏?接口中的等價方法
接口中的等價方法
回答
接口只能存在於對象上。
任何實現接口的類型最終都會從對象派生,因此Equals總是被定義的。
爲什麼不提供ToString()方法? –
它可用。 –
從C#4規範的部分13.2:
注意,在類對象的成員不是,嚴格地說,任何接口的構件(第13.2節)。但是,類對象中的成員可以通過任何接口類型(§7.4)中的成員查找來使用。
而第7.4:
- 首先,一個名爲N組訪問的成員的確定:
- ...
- 否則,該組由所有可訪問(§的3.5)T中名爲N的成員,包括繼承成員和對象中名爲N的可訪問成員。 [...]
而第7.4.1:
對於成員查找的目的,類型T被認爲是具有以下基類型:
...
•如果T是接口類型,T的基類型是T和類類型對象的基接口。
基本上這是一個忽悠,讓編譯器明白的object
成員將始終真的可在執行時,即使他們沒有真正參與的接口表達的類型的成員。
對於C#4規範說明書+1約翰...... –
此外,讓這些成員可用也是有意義的。 – ChaosPandion
- 1. 什麼是「hasOwnProperty()」接口的等價物?
- 2. 什麼是接口的haskell等價物?
- 3. java中的等價方法(numpy.random.normal(mean,var))
- 4. C++中的等價類方法
- 5. 等價於Ruby中的findall()方法?
- 6. 等價於jquery中的$ .curCSS方法1.10
- 7. 方法「moveFirst()」ADODB,PDO等價
- 8. cvSetImageData和cvCreateImage C++等價接口
- 9. 檢查超類/接口方法和等式的重寫方法
- 10. ArrayDeque接口與隊列接口等效方法
- 11. Angular $ .grep()方法的Angular 2中的等價方法是什麼?
- 12. 接口中的方法數
- 13. javacv中opencv Mat.copyto()方法的等價方法是什麼?
- 14. JavaScript中的子類/接口的等價物
- 15. 接口的方法
- 16. 的接口方法
- 17. Carbon方法的可可等價物getPtrSize
- 18. 等價方法的傳遞性質
- 19. Dojo等價於jQuery的.data()方法
- 20. 有沒有LINQ等價的方法?
- 21. 用於VB方法的dotnet等價物
- 22. 的Python 3等價find()方法
- 23. 接口方法
- 24. 在java中使用@Autowired接口的等價物
- 25. 布爾接口方法不能從它的實現方法獲得的價值
- 26. PHP等價於C#string.IsNullOrEmpty方法?
- 27. UWP等價於PHP mcrypt_encrypt方法
- 28. Wordpress count_posts()等價函數非貴方法
- 29. ruby中的instance_variable_set方法的dart中是否有等價物?
- 30. 非接口方法
我不相信這明顯地回答了這個問題。 – ChaosPandion