5
基本上,如果我在C#中声明一个枚举,它默认实现了哪些接口?默认情况下,C#枚举实现了哪些接口
public enum Group
{
Unknown,
Children,
Teens,
YoungAdults,
Adults,
}
基本上,如果我在C#中声明一个枚举,它默认实现了哪些接口?默认情况下,C#枚举实现了哪些接口
public enum Group
{
Unknown,
Children,
Teens,
YoungAdults,
Adults,
}
为什么不找一个简单的程序?
foreach(var interfaceType in typeof(Group).GetInterfaces())
{
Console.WriteLine(interfaceType);
}
输出:
System.IComparable
System.IFormattable
System.IConvertible
仅供参考,所有的这些都来自枚举基本类型System.Enum,根据MSDN它具有以下声明:
[SerializableAttribute]
[ComVisibleAttribute(true)]
public abstract class Enum : ValueType,
IComparable, IFormattable, IConvertible
有趣......我一直假设它会实现底层类型的接口。 –
我不认为这样的程序必然会显示一个类实现的所有接口。例如,尽管'IList'不是协变的,并且即使'IList '不在列出的接口之中,DerivedType []'也实现IList 。 –
supercat