为什么选择System.Decimal继承层次结构

m.e*_*son 2 c# resharper

我的印象是所有值类型都继承自System.ValueType,因为我知道Decimal是一个结构,它也是一个值类型,它说Decimal因此必须是一个值类型.那么为什么resharper会显示类型层次结构:

在此输入图像描述

或者我在这里误解了什么?

Hen*_*man 6

Decimal不是从IFormattable 派生的,它只是实现了IFormattable接口.

实现接口有时被称为"继承",它看起来几乎相同.

我更惊讶resharper没有显示其余的接口.
转到VS中的定义(F12)显示:

 public struct Decimal : 
       IFormattable, IComparable, IConvertible, IDeserializationCallback, 
       IComparable<decimal>, IEquatable<decimal>
Run Code Online (Sandbox Code Playgroud)