Чем различается перечисление, объявленное так:
[Flags]
public enum ASD
{
None = 0,
Param1 = 1,
Param2 = 2,
Param3 = 4,
}
или так
public enum ASD
{
None = 0,
Param1 = 1,
Param2 = 2,
Param3 = 4,
}
Ответ
Этот атрибут означает, что значения перечисления, к которому он применяется, могут рассматриваться как битовые поля и к ним можно применять битовые операции, что отразится, в частности, на поведении метода ToString.
Например:
// если перечисление помечено атрибутом
ASD flags = (ASD)5;
Console.WriteLine(flags); // выведет Param1, Param3
// если перечисление не помечено атрибутом
ASD enums = (ASD)5;
Console.WriteLine(enums); // выведет 5
Комментариев нет:
Отправить комментарий