Выбор между перечислением и логическими параметрами
Обновлен: Ноябрь 2007
Следующие рекомендации помогут решить, какой тип параметра использовать: перечисление или значение Boolean.
Если член будет иметь два или более логических параметра, используйте перечисление.
Перечисления существенно облегчают понимание описаний членов. Рассмотрим следующий вызов метода:
Type.GetType("Contoso.Controls.Array", True, False)
Type.GetType("Contoso.Controls.Array", true, false);
Такие вызовы очень сложно понять без чтения документации или комментариев. Гораздо легче прочитать вызов, использующий значения перечисления вместо множества логических значений, как показано в следующем примере кода.
BetterType.GetType("Contoso.Controls.Array", _
ErrorOptions.ThrowOnError, _
CasingOptions.CaseInsensitive)
BetterType.GetType("Contoso.Controls.Array",
ErrorOptions.ThrowOnError,
CasingOptions.CaseInsensitive);
Не используйте логические значения, за исключением случаев, когда вы абсолютно уверены в том, что никогда не возникнет необходимости в более чем двух значениях.
Перечисления позволяют добавлять значения в следующие версии, однако добавление значений в перечисления может вызвать проблемы совместимости. Дополнительные сведения см. в разделе Добавление значений в перечисления.
Охраняется авторским правом Copyright 2005 Microsoft Corporation. Все права защищены.
Охраняется авторским правом Copyright Addison-Wesley Corporation. Все права защищены.
Дополнительные сведения о руководствах по разработке см. в книге "Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries", Krzysztof Cwalina and Brad Abrams, Addison-Wesley, 2005.