LanguageExt — ошибка при попытке сопоставления метода, который возвращает TryAsyncC#

Место общения программистов C#
Ответить
Anonymous
 LanguageExt — ошибка при попытке сопоставления метода, который возвращает TryAsync

Сообщение Anonymous »

Я использую метод в библиотеке, который возвращает TryAsync (тупая глупая реализация для отображения подписи)...

Код: Выделить всё

public TryAsync DoLibraryStuffAsync() =>
TryAsync(unit);
Я хочу вызвать это и вернуть Task, где строка будет содержать сообщение об ошибке. Я дошел до этого...

Код: Выделить всё

private async Task DoMyStuffAsync() =>
(await DoLibraryStuffAsync())
.Match(_ => unit,
ex => $"Ex: {ex.Message}");
Однако это приводит к ошибке компиляции в обеих ветвях Match...

В качестве оператора можно использовать только выражения присваивания, вызова, увеличения, уменьшения, ожидания и нового объекта.

Наведя курсор на Match, я могу видите, что компилятор уловил перегрузку, которая принимает Func, поэтому я ожидал, что смогу вернуть либо строку, либо единицу измерения...
Изображение

Кто-нибудь сможет объяснить что я делаю не так и как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/786 ... yasyncunit
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»