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