Не удается скомпилировать следующий фрагмент кода, что приводит к not code paths return a value
.Оба типа Test1StandardChargeCalculator
и Test2StandardChargeCalculator
являются производными от типа возвращаемого значения.
Я знаю, как это исправить , но у меня такой вопрос, почему я должен это делать?bool
является типом значения - следовательно, может представлять только true или false , оба из которых учитываются в этом фрагменте.Так почему неудачная компиляция?
internal StandardChargeCalculator Create()
{
bool value = true;
switch (value)
{
case true:
return new Test1StandardChargeCalculator();
case false:
return new Test2StandardChargeCalculator();
}
} //not all code paths return a value