Информация об изменениях

Сообщение Re[3]: [C# 7] Design notes, Mar 18 от 19.05.2015 14:05

Изменено 19.05.2015 14:46 Sinix

Здравствуйте, AndrewVK, Вы писали:

AVK>Не?

static TReturn Using<TValue, TReturn>(Func<TValue> val, Func<TValue, TReturn> callback) {...}

тогда уж.

Иначе первый же залетевший дятел одно исключение — и утёкший ресурс
Re[3]: [C# 7] Design notes, Mar 18
Здравствуйте, AndrewVK, Вы писали:

AVK>Не?

static TReturn Using<TValue, TReturn>(Func<TValue> val, Func<TValue, TReturn> callback) {...}

тогда уж.

Иначе первый же залетевший дятел одно исключение — и утёкший ресурс

UPD.
P.S. Кто сказал future монада?
    public static Func<TReturn> Then<TValue, TReturn>(this Func<TValue> val, Func<TValue, TReturn> callback) { return () => callback(val()); }
...
        Func<string> a = () => Console.ReadLine();
        var b = a
            .Then(_ => int.Parse(_))
            .Then(_ => Math.Sqrt(_))
            .Then(_ => { Console.WriteLine(_); return _; });
        var c = b();


P.P.S. Все вопросы "НО ЗАЧЕМ???" — к топикстартеру. Это ему нужны были юзинги в выражениях