public TimeSpan GetUptime() { var tryify = new Tryify <TimeSpan>(); foreach (var strategy in _strategies) { if (tryify.TryInvoke(() => strategy.GetUptime(), out var result)) { return(result); } } throw new InvalidOperationException("failed to get a valid up time"); }
public static bool TryDownloadHeader(this IHttpChannel channel, string url, out IHttpHeader header) { header = new HttpHeader("plain", 0); var success = new Tryify <IHttpHeader?>() .TryInvoke(() => channel.DownloadHeader(url), out var result, fallback: default);