Thursday, October 06, 2011

Маленькие чудеса C#/.NET: забавы с методами enum

Еще раз позвольте окунуться в "Маленькие чудеса .NET" - эти маленькие "штучки" в языках платформы .NET и классах BCL, которые делают разработку проще за счет повышения читаемости кода, сопровождаемости или производительности.

Вероятно, каждый из нас использует перечисляемые типы время от времени в программах на C#. Перечисляемые типы, которые мы создаем - это отличный способ передать то, что значение может быть одним из набора дискретных значений (или сочетанием этих значений в случае битовых флагов).

Но возможности перечисляемых типов выходят далеко за рамки простого присваивания и сравнения, есть много методов в классе Enum (от которого "наследуются" все перечисления), которые могут дать вам еще больше возможностей при работе с ними.
IsDefined() - проверка, что данное значение присутствует в перечислении

Вы считываете значение для перечисления из источника данных, но не уверены, что это действительно допустимое значение? Приведение не скажет вам этого, и Parse() не гарантирует разбора, если вы передаете ему int или комбинацию флагов. Итак, что мы можем сделать?

Давайте предположим, что у нас есть небольшое перечисление, содержащее коды результатов, которые мы хотим возвращать из нашего слоя бизнес-логики:

public enum ResultCode
{
    Success,
    Warning,
    Error
}

В этом перечислении Success (Успешно) будет равен нулю (если другое значение не задано явно), Warning (Предупреждение) будет 1, а Error (Ошибка) будет 2.

Read more: Addicted to .NET
QR: malenkie-chudesa-csharp-net-zabavy-s-metodami-enum

Posted via email from Jasper-Net