Позвольте мне начать с того, что я не защищаю этот подход, но недавно я его увидел, и мне было интересно, есть ли для него название, на которое я мог бы указать виновной стороне. Так что вот так.
Теперь у вас есть метод, и вы хотите вернуть значение. Вы также хотите вернуть код ошибки. Конечно, исключения являются гораздо лучшим выбором, но по какой-то причине вам нужен код ошибки. Помни, я играю адвоката дьявола здесь. Итак, вы создаете универсальный класс, например так:
class FunctionResult<T>
{
public T payload;
public int result;
}
А затем объявите ваши функции следующим образом:
FunctionResult<string> MyFunction()
{
FunctionResult<string> result;
//...
return result;
}
Одним из вариантов этого шаблона является использование перечисления для кода ошибки вместо строки. Теперь вернемся к моему вопросу: есть ли название для этого, и если да, то каково это?