gpt4 book ai didi

c# - 为什么接口(interface)实例有 GetType、GetHashCode、Equals 和 ToString 方法?

转载 作者:行者123 更新时间:2023-12-03 03:05:32 24 4
gpt4 key购买 nike

考虑以下示例。

public interface IAnimal
{
void MakeSound();
}
public class Dog: IAnimal
{
public void MakeSound() { Console.WriteLine("Bow-Bow-Bow"); }
public static void Main()
{
IAnimal a = new Dog();
Console.WriteLine(a.MakeSound());
Console.WriteLine(a.ToString());
}
}

为什么接口(interface)实例可以访问来自 System.Object 的 ToString 方法?我的理解是,对于接口(interface),人们只能访问接口(interface)所拥有的方法。

最佳答案

您的类隐式派生自System.Object:

Languages typically do not require a class to declare inheritance from Object because the inheritance is implicit. [MSDN]

更新:

刚发现这个,可能重复吗? :

Do interfaces derive from System.Object? C# spec says yes, Eric says no, reality says no

关于c# - 为什么接口(interface)实例有 GetType、GetHashCode、Equals 和 ToString 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22005675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com