Перечисление для выбора стиля линий

Рассмотрим графический класс для рисования линий. В этом примере перечисление используется для объявления стиля рисуемой линии:

using System;

public class Draw

{

public enum LineStyle

{

Solid,

Dotted,

DotDash,

}

public void DrawLine(int x1, int y1,

int x2, int y2, LineStyle lineStyle)

{

switch (lineStyle)

{

case LineStyle.Solid:

// Нарисовать сплошную линию

break;

case LineStyle.Dotted:

// Нарисовать пунктирную линию

break;

case LineStyle.DotDash:

// Нарисовать штрих-пунктирную линию

break;

default:

throw(new ArgumentException("Invalid line style"));

}

}

}

class Test

{

public static void Main()

{

Draw draw = new Draw();

draw.DrawLine(0, 0, 10, 10, Draw.LineStyle.Solid);

draw.DrawLine(5, 6, 23, 3, (Draw.LineStyle) 35);

}

}

Перечисление LineStyle определяет фиксированный набор стилей линии; при вызове функций оно задает тип рисуемой линии.

Хотя перечисления предотвращают случайное использование значений, не входящих в заданный набор, значения перечисляемого типа не ограничиваются идентификаторами, указанными при объявлении перечисления. Второй вызов DrawLine() также допустим, поэтому переданное функции значение все равно проверяется на принадлежность набору разрешенных значений. При передаче недопустимой величины класс Draw инициирует исключение «недопустимый аргумент».

Предлагаю ознакомиться с аналогичными статьями: