我的印象是所有 值类型都继承自 System.ValueType ,因为我知道 Decimal是一个 struct,它也是一个值类型,它表示 Decimal 因此必须是一个值类型。那么为什么 resharper 会这样显示类型层次结构:
还是我误解了什么?
最佳答案
Decimal 不是从 IFormattable 派生,它只是实现 IFormattable 接口(interface)。
实现一个接口(interface)有时被称为“继承”,看起来几乎是一样的。
我更惊讶的是 resharper 没有显示其余的界面。
VS 中的转到定义 (F12) 显示:
public struct Decimal :
IFormattable, IComparable, IConvertible, IDeserializationCallback,
IComparable<decimal>, IEquatable<decimal>
关于c# - 为什么 System.Decimal 继承层次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9393504/