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);
}
我有一个像这样的自定义适配器模式
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);
}