namespace InnovEnergy.App.SchneiderDriver; public static class Utils { public static IEnumerable<T> TryWhere<T>(this IEnumerable<T> src, Func<T, Boolean> predicate) { foreach (var e in src) { var ok = false; try { ok = predicate(e); } catch { // ignored } if (ok) yield return e; } } public static IEnumerable<R> TrySelect<T,R>(this IEnumerable<T> src, Func<T, R> map) { foreach (var e in src) { var ok = false; var result = default(R); try { result = map(e); ok = true; } catch { // ignored } if (ok) yield return result!; } } }