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

Сообщение Re: Try из библиотеки LanguageExt.Core от 14.01.2022 10:07

Изменено 14.01.2022 11:17 Serginio1

Re: Try из библиотеки LanguageExt.Core
Здравствуйте, vaa, Вы писали:


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?
Re: Try из библиотеки LanguageExt.Core
Здравствуйте, vaa, Вы писали:


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?

Может это подойдет
https://stackoverflow.com/questions/13928963/implement-f-interface-member-with-unit-return-type-in-c-sharp