【发布时间】:2009-06-17 11:50:56
【问题描述】:
class A
{
public override int GetHashCode()
{
return 1;
}
}
class B : A
{
public override int GetHashCode()
{
return ((object)this).GetHashCode();
}
}
new B().GetHashCode()
这会溢出堆栈。如何从B.GetHashCode() 拨打Object.GetHashCode()?
编辑:B 现在继承自 A。
【问题讨论】:
-
您的意思是让 B 类从 A 类继承吗?
-
@AakashM - 好地方!我在心里插入它,却没有注意到它不存在;我想我们可以假设它应该是......
-
这在 C# 中是不合法的。是否可以重新设计您的类层次结构,以便派生类型不需要了解其所有基类型的实现细节?
标签: c# inheritance