typeof(System.Enum).IsClass == false

后端 未结 2 1500
借酒劲吻你
借酒劲吻你 2020-12-19 15:49

Founded that:

typeof(System.Enum).IsClass == false

It\'s become strange that System.Enum has also .IsValueType == false<

2条回答
  •  无人及你
    2020-12-19 16:24

    I happened to recently revisit this problem under CLR4 and guess what, it is fixed now. The following definitions:

    public struct SomeValueType{}
    
    public enum SomeEnum
    {
        FirstElement
    }
    

    with this program

    Console.WriteLine( typeof( Enum ).IsClass );
    Console.WriteLine( typeof( SomeEnum ).IsClass );
    
    Console.WriteLine( typeof( ValueType).IsClass );
    Console.WriteLine( typeof( SomeValueType).IsClass );
    

    Yields the following results:

    CLR2: False, False, True, False 
    CLR4: True, False, True, False
    

提交回复
热议问题