У меня есть класс, который принимает общий конструктор TState
в своем конструкторе, при условии, что TState
может быть преобразовано в UInt64
с помощью TypeConverter
. Затем он будет использоваться в качестве флагов.
Я хочу использовать [Flags]
enum для TState
, но даже если я определю его как
[Flags]
public enum EState : ulong
{
None = 0x0,
State1= 0x1,
State2= 0x2,
State3= 0x4
}
, тогда если TypeConverter typeConv = TypeDescriptor.GetConverter(typeof(EState));
typeConv.CanConvertTo(typeof(UInt64))
ложно.
Как я могу сделать перечисление, которое будет преобразовываться соответствующим образом? Спасибо!