AutoMapperMappingException 获取 属性 名称

AutoMapperMappingException Get Property name

我有一个像这样的自定义适配器模式

public interface IFoo
{
     byte[] Content{get; set;}
}

public class FooDTO : IFoo
{
    byte[] Content {get; set;}
}

public FooAdapter : IFoo
{
    Picture _picture;
    public FooAdapter(Picture picture)
    {
        this._picture = picture;
    }
   
    public byte[] Content => this._picture.GetContent();
}

然后我有一个扩展方法可以像这样将我的实体转换为 dto

public static FooDTO ToDTO(this IFoo getter)
{
    return AutoMapperExtensions.Map<IFoo, FooDTO >(getter);            
}

此适配器在同一个接口IFoo之间进行适配器,偶尔会出现AutoMapperMappingExceptions

Mapping types: FooAdapter -> Byte[] MyNamespace.FooAdapter -> System.Byte[]

Destination path: FooDTO.Content

Source value: MyNamespace.FooAdapter

所有这些信息都很好,但是我怎样才能得到抛出错误的 属性 的 属性 名称?

以防有人想知道您可以通过错误上下文访问成员名称。

catch(AutoMapperMappingException mappingException)
{
    BuildNewError(mappingException.Context.MemberName);
}