Isn't it odd that...
From the files of things that make you go “hmmmm”.
System.Exception (the base class for all exceptions) is indeed an exception: throw new Exception ()
But…
System.Enum (the base class for all enums) is not an enum: typeof (Enum).IsEnum == false
System.ValueType (the base class for all ValueTypes) is not a ValueType: typeof (ValueType).IsValueType == false
System.Attribute (the base class for all custom attributes) is not a custom attribute [Attribute] -> compile error
From the files of things that make you go “hmmmm”.
System.Exception (the base class for all exceptions) is indeed an exception: throw new Exception ()
But…
System.Enum (the base class for all enums) is not an enum: typeof (Enum).IsEnum == false
System.ValueType (the base class for all ValueTypes) is not a ValueType: typeof (ValueType).IsValueType == false
System.Attribute (the base class for all custom attributes) is not a custom attribute [Attribute] -> compile error.
There is, of course, good reason for all of this, but still a bit odd when you try to explain to someone the first time.