Код: Выделить всё
public class NluProgressResolver : IValueResolver
{
public object Resolve(CluTrainingJobStateModel source, NluTrainingStateDto dest, object member, ResolutionContext context)
=> new NluTrainingProgress()
{
Percentage = (source.Result.EvaluationStatus!.PercentComplete + source.Result.TrainingStatus!.PercentComplete) / 2
};
}
< pre class="lang-cs Prettyprint-override">
Код: Выделить всё
public class CluTrainingJobStateModel
{
[JsonPropertyName("result")]
public required CluTrainingJobStateResult Result { get; set; }
[JsonPropertyName("jobId")]
public required string JobId { get; set; }
[JsonPropertyName("createdDateTime")]
public string? CreatedDateTime { get; set; }
[JsonPropertyName("lastUpdatedDateTime")]
public string? LastUpdatedDateTime { get; set; }
[JsonPropertyName("expirationDateTime")]
public string? ExpirationDateTime { get; set; }
[JsonPropertyName("status")]
public CluTrainingJobStatus? Status { get; set; }
}
Код: Выделить всё
public class NluTrainingStateDto
{
[JsonPropertyName("id")]
public required string Id { get; set; }
[JsonPropertyName("status")]
public NluTrainingStatus? Status { get; set; }
[JsonPropertyName("progress")]
public NluTrainingProgress? Progress { get; set; }
}
Код: Выделить всё
public struct NluTrainingProgress
{
[JsonPropertyName("percentage")]
public required int Percentage { get; set; }
}
Код: Выделить всё
CreateMap()
.ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.JobId))
.ForMember(dest => dest.Status, opt => opt.MapFrom(src => src.Status))
.ForMember(dest => dest.Progress, opt => opt.MapFrom());
Тип Namespace.NluProgressResolver нельзя использовать как введите параметр «TValueResolver» в универсальном типе или методе «IMemberConfigurationExpression.MapFrom()». Неявного преобразования ссылок из Namespace.NluProgressResolver в AutoMapper.IValueResolver' не существует. (Я сократил фактическое пространство имен до `Namespace for, чтобы его было легче читать)
Я также хочу добавить, что я заменил NluTrainingProgress на object в преобразователе , но он показывает ту же ошибку, но вместо этого ссылается на объект, где написано Namespace.NluTrainingProgress?
P.S. Я понимаю, что это, вероятно, не соответствует некоторым рекомендациям, поэтому любые советы приветствуются.
Подробнее здесь: https://stackoverflow.com/questions/786 ... -parameter
Мобильная версия