Сообщение Re: Try из библиотеки LanguageExt.Core от 14.01.2022 10:07
Изменено 14.01.2022 10:09 Serginio1
Re: Try из библиотеки LanguageExt.Core
Здравствуйте, vaa, Вы писали:
vaa>
vaa>Чтобы замыкание выполнилось нужно чтобы оно возвращало значение, т.е. либо обернуть в act(()=>{}) либо вернуть что то из метода
vaa>иначе метод не будет вызван, но Match отработает, т.е. будет казаться что все работает.
vaa>Это еще раз показывает как много в компиляторе C# косяков.
https://louthy.github.io/language-ext/LanguageExt.Core/Monads/Alternative%20Value%20Monads/Try/Try/index.html#TryExtensions_0_Match_2
method Unit Match <A> (this Try<A> self, Action<A> Succ, Action<Exception> Fail)
Кстати а какой должен будет тип для void?
Try(() => { WriteLine("DONE");}).Match( a => {a.GetType(); WriteLine("OK")}, exn => WriteLine(exn));
vaa>
vaa>using System.Diagnostics;
vaa>using static System.Console;
vaa>using static LanguageExt.Prelude;
vaa>Try(() => { WriteLine("DONE");return true;}).Match(_ => WriteLine("OK"), exn => WriteLine(exn));
vaa>
vaa>Чтобы замыкание выполнилось нужно чтобы оно возвращало значение, т.е. либо обернуть в act(()=>{}) либо вернуть что то из метода
vaa>иначе метод не будет вызван, но Match отработает, т.е. будет казаться что все работает.
vaa>Это еще раз показывает как много в компиляторе C# косяков.
https://louthy.github.io/language-ext/LanguageExt.Core/Monads/Alternative%20Value%20Monads/Try/Try/index.html#TryExtensions_0_Match_2
method Unit Match <A> (this Try<A> self, Action<A> Succ, Action<Exception> Fail)
Кстати а какой должен будет тип для void?
Try(() => { WriteLine("DONE");}).Match( a => {a.GetType(); WriteLine("OK")}, exn => WriteLine(exn));
Re: Try из библиотеки LanguageExt.Core
Здравствуйте, vaa, Вы писали:
vaa>
vaa>Чтобы замыкание выполнилось нужно чтобы оно возвращало значение, т.е. либо обернуть в act(()=>{}) либо вернуть что то из метода
vaa>иначе метод не будет вызван, но Match отработает, т.е. будет казаться что все работает.
vaa>Это еще раз показывает как много в компиляторе C# косяков.
https://louthy.github.io/language-ext/LanguageExt.Core/Monads/Alternative%20Value%20Monads/Try/Try/index.html#TryExtensions_0_Match_2
Кстати а какой должен будет тип для void?
Unit?
vaa>
vaa>using System.Diagnostics;
vaa>using static System.Console;
vaa>using static LanguageExt.Prelude;
vaa>Try(() => { WriteLine("DONE");return true;}).Match(_ => WriteLine("OK"), exn => WriteLine(exn));
vaa>
vaa>Чтобы замыкание выполнилось нужно чтобы оно возвращало значение, т.е. либо обернуть в act(()=>{}) либо вернуть что то из метода
vaa>иначе метод не будет вызван, но Match отработает, т.е. будет казаться что все работает.
vaa>Это еще раз показывает как много в компиляторе C# косяков.
https://louthy.github.io/language-ext/LanguageExt.Core/Monads/Alternative%20Value%20Monads/Try/Try/index.html#TryExtensions_0_Match_2
method Unit Match <A> (this Try<A> self, Action<A> Succ, Action<Exception> Fail)
Кстати а какой должен будет тип для void?
Try(() => { WriteLine("DONE");}).Match( a => {a.GetType(); WriteLine("OK")}, exn => WriteLine(exn));
Unit?