Я пытаюсь издеваться метод репозитория, как этотMoq ReturnsAsync() с параметрами
public async Task<WhitelistItem> GetByTypeValue(WhitelistType type, string value)
с использованием MOq ReturnsAsync, как это:
static List<WhitelistItem> whitelist = new List<WhitelistItem>();
var whitelistRepositoryMock = new Mock<IWhitelistRepository>();
whitelistRepositoryMock.Setup(w => w.GetByTypeValue(It.IsAny<WhitelistType>(), It.IsAny<string>()))
.ReturnsAsync((WhitelistType type, string value) =>
{
return (from item in whitelist
where item.Type == type && item.Value == value
select item).FirstOrDefault();
});
, но я получаю эту ошибку в линия»... ReturnsAsync ((тип WhitelistType ...):
Невозможно преобразовать лямбда-выражения к типу 'Model.WhitelistItem', потому что его не тип делегата
WhitelistType приведен Enum так:
public enum WhitelistType
{
UserName,
PostalCode
}
Я искал часами и не нашел никакого ответа на мою проблему.
Любые подсказки?
выглядит, как вам нужно указать тип для аргументов лямбда-делегат (тип WhitelistType, строковое значение) – BozoJoe
является возможным вернуть параметр, передаваемый в метод как async return type, поэтому экземпляр в ---> Задача out? (тот же экземпляр you) –
Choco
@Choco не уверен, что вы пытаетесь сделать - рассмотрите вопрос вместо него и покажите фактический код (возможно, вы ищете 'return Task.FromResult (value)') ... –