据我所知,除了.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