+122
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
switch (item.Value.ModuleConfiguration.SystemModule) // у свойства SystemModule тип bool, а не bool?
{
case true:
{
CreateModuleDomain<ISystemModuleProxy>(moduleContainer);
(moduleContainer.ModuleProxy as ISystemModuleProxy).Init(moduleContainer.ModuleConfiguration, this as ISystemCoreProvider);
break;
}
case false:
{
CreateModuleDomain<IBusinessModuleProxy>(moduleContainer);
(moduleContainer.ModuleProxy as IBusinessModuleProxy).Init(moduleContainer.ModuleConfiguration, this as ICoreProvider);
break;
}
default:
break;
}
Фрагмент кода официального Senior Developer. Пример абсолютно надежного кода, который умеет обрабатывать даже будущие состояния булевого типа (default: break;) Будет надежен даже, если Microsoft неожиданно расширит тип состояниями, например MayBeTrue, OfCourseFalse, DontUnderstand и т.п. :)
Запостил:
anzu,
05 Мая 2011
и пусть пхп-кунак не расстраивается, до-диез скоро догонит и перегонит
в соседнем треде мелькала ссылка, где мсдн предлагала потенциальным до-диезным кодо-обезьянкам машинный перевод вместо справочника.
результат не заставит себя ждать.
к любому языку и платформе можно подходить с разной степенью ответственности
обидно временами бывает слышать
скучно, право же.
до диез не мое "всё"
ты неправильно понял меня
лучше закрыть эту тему :)
вроде здесь явно указано, вдруг
...
default: //null
break;
...
default: throw new InvalidOperationException("Attention: magic boolean type!");
Другого смысла я увидеть не смог.