Работа с методом

78
06 декабря 2021, 23:10

Как правильно такое реализовывается или я что то не то себе надумал))) ?

Я хочу из метода вернуть в зависимости от ситуации, либо string - например "error" и закончить всё на этом, либо экземпляр класса HttpRequest с которым дальше можно продолжить работать.

Спасибо!

Answer 1

Ваш способ влоб. Обьявляете что метод возвращает object, все обьекты можно кастить в object. return (object)str; либо return (object)httpreq;

object f(){
   ....
  return (string)"MyString";
  }

object result = f();
if (result  is string){
   Console.WriteLine((string)result)
 } else {
    ....
 }

Можно вернуть и строку и HttpRequest "одновременно", например так

 HttpRequest f(ref err){
     ...
     }
 ....
 string err;
 HttpRequest ret = f(ref err);
 if (ret == null) Console.WriteLine(err);

Вариант 3. Исключение.

HttpRequest f(){
    HttpRequest ret = null;
     ....
    if (ret == null) throw new Exception("Message");
   return ret;
   }
HttpRequest req = null;
try {
  req=f();
  } catch (Exception e){
     Console.WriteLine(e.Message);
  }
READ ALSO
Чтение большого текстового файла

Чтение большого текстового файла

Имею большой текстовый файл(~50000 строк)Через streamreader читаю его, в файле имеются пустые строки

157
Не сохраняются данные в $_SESSION

Не сохраняются данные в $_SESSION

При обновлении страницы (по нажатию определенной кнопки) сиссия каждый раз обновляется, то есть старое значение, сохраненное в ней, я не могу...

261
Не приходят IPN уведомления laravel

Не приходят IPN уведомления laravel

у меня такой вопросЕще около двух лет назад я пытался поставить Payeer на Laravel, но безуспешно

176
вложения в циклах foreach при парсинге

вложения в циклах foreach при парсинге

Нужна помощь есть html дерево где с помощью DomCrawler парсим нужные нам значения(имя товара и цена) сложность в том как из двух масивов сделать один(ключ...

171