When generating mapper from interface containing mapping method/property with internal classes mapster tool generates internal implementation of this method/property
- Mapster.Core v1.2.0
- mapster.tool v8.2.1
- executed on
net5
[Mapper(IsInternal = true)]
internal interface IMyMappers
{
PocoDto Map(Poco source);
Expression<Func<Poco, PocoDto>> ProjectToDto { get; }
}
public record Poco(string Name, string Description);
internal record PocoDto(string Name, string Description);
Generated mapper class is:
internal partial class MyMappers : IMyMappers
{
internal Expression<Func<Poco, PocoDto>> ProjectToDto => p1 => new PocoDto(p1.Name, p1.Description);
internal PocoDto Map(Poco p2)
{
return p2 == null ? null : new PocoDto(p2.Name, p2.Description);
}
}
CS0737: 'MyMappers.Map(Poco)' cannot implement an interface member because it is not public.
CS0737: 'MyMappers.ProjectToDto' cannot implement an interface member because it is not public.
Maybe internal class with proper implementations should be generated even in case MapperAttribute.IsInternal hasn't been specified
When generating mapper from interface containing mapping method/property with
internalclasses mapster tool generatesinternalimplementation of this method/propertynet5Generated mapper class is:
Maybe
internalclass with proper implementations should be generated even in caseMapperAttribute.IsInternalhasn't been specified