-
Notifications
You must be signed in to change notification settings - Fork 392
Closed
Description
Mapster.Tool does not generate member mapping when ShallowCopyForSameType and UseDestinationValue is used and source and destination member type is same.
Example:
Declaration:
public class Src
{
public IList<string> ListWithGetOnly { get; } = new List<string>();
public List<string> SameTypeList { get; } = new();
}
public class Dst
{
public List<string> ListWithGetOnly { get; } = new List<string>();
public List<string> SameTypeList { get; } = new List<string>();
}Mapper configuration:
.ShallowCopyForSameType(true)
.UseDestinationValue(member => member.SetterModifier == AccessModifier.None &&
member.Type.IsGenericType &&
IsAssignableToGeneric(member.Type, typeof(ICollection<>)))What gets generated:
public static MapLib.MapTest.Dst AdaptToDst(this MapLib.MapTest.Src p1)
{
if (p1 == null)
{
return null;
}
MapLib.MapTest.Dst result = new MapLib.MapTest.Dst();
funcMain1(p1.ListWithGetOnly, result.ListWithGetOnly);
return result;
}
private static System.Collections.Generic.List<string> funcMain1(System.Collections.Generic.IList<string> p2, System.Collections.Generic.List<string> p3)
{
...
}
Sample project:
MapsterBug-UseDestinationValue.zip
Metadata
Metadata
Assignees
Labels
No labels