Skip to content

Commit 792aa0e

Browse files
committed
avoid naming conflicts
1 parent f9ce0f4 commit 792aa0e

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

src/AutoMapper/Internal/TypeDetails.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ void SetNameToMember()
4848
}
4949
foreach (var member in accessors)
5050
{
51-
_nameToMember.Add(member.Name, member);
51+
_nameToMember.TryAdd(member.Name, member);
5252
if (Config.Postfixes.Count == 0 && Config.Prefixes.Count == 0)
5353
{
5454
continue;

src/UnitTests/MemberResolution.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,34 @@
44
using Xunit;
55
namespace AutoMapper.UnitTests.MemberResolution;
66

7+
public class When_multiple_source_members_match_postfix : AutoMapperSpecBase
8+
{
9+
class Order
10+
{
11+
public int ProductId { get; set; }
12+
public Product Product { get; set; }
13+
}
14+
15+
class OrderDto
16+
{
17+
public int ProductId { get; set; }
18+
}
19+
class Product
20+
{
21+
public int Id { get; set; }
22+
}
23+
protected override MapperConfiguration CreateConfiguration() => new(c =>
24+
{
25+
c.RecognizePostfixes("Id");
26+
c.CreateMap<Order, OrderDto>();
27+
});
28+
[Fact]
29+
public void Should_prefer_the_property()
30+
{
31+
var destination = Map<OrderDto>(new Order { ProductId = 12 });
32+
destination.ProductId.ShouldBe(12);
33+
}
34+
}
735
public class When_multiple_source_members_match : AutoMapperSpecBase
836
{
937
class Source

0 commit comments

Comments
 (0)