Я пытаюсь сделать часть своего кода более беглой.
У меня есть расширение строки, которое делает HTTP-запрос из строки и возвращает ответ в виде строки. Так что я могу сделать что-то вроде ...
string _html = "http://www.stackoverflow.com".Request();
Я пытаюсь написать расширение, которое будет пытаться выполнить запрос, пока он не будет выполнен успешно. Моя подпись выглядит примерно так ...
public static T KeepTrying<T>(this Func<T> KeepTryingThis) {
// Code to ignore exceptions and keep trying goes here
// Returns the result of KeepTryingThis if it succeeds
}
Я собираюсь назвать это чем-то вроде ...
string _html = "http://www.stackoverflow.com".Request.KeepTrying();
Увы, это не похоже на работу =). Сначала я попытался превратить его в лямбду, но это тоже не сработало.
string _html = (() => "http://www.stackoverflow.com".Request()).KeepTrying();
Есть ли способ сделать то, что я пытаюсь сделать, сохранив синтаксис достаточно свободно?
Предложения очень ценятся.
Спасибо.