/// <summary>ToEnumの実装</summary>
 class ToEnumImp<TEnum>
 {
  class TypeAndEnum : IComparable<TypeAndEnum>
  {
   public readonly Type Type;
   public readonly TEnum Enum;
   public readonly int Order;
   public TypeAndEnum(Type t, TEnum e, int o) { Type = t; Enum = e; Order = o; }
   public int CompareTo(TypeAndEnum other) { return Order.CompareTo(other.Order); }
  }
  static readonly TypeAndEnum[] fields;
  static readonly Dictionary<Type, TEnum> typeToTEnum;