尝试制作自动映射器扩展方法,以便我可以替换(加密或解密)字符串。
我希望使用扩展方法来做到这一点,以便我可以动态浏览所有属性,而不必手动指定每个属性
CreateMap<User, UserDto>().DecryptStrings();
CreateMap<UserDto, User>().EncryptStrings();
public static IMappingExpression<TSource, TDestination> DecryptStrings<TSource, TDestination>(this IMappingExpression<TSource, TDestination> map)
{
var sourceType = typeof(TSource);
foreach (var prop in sourceType.GetProperties())
{
if (prop.PropertyType == typeof(string))
{
var name = (string)prop.GetValue(sourceType);
var replacementValue = "test";
map.ForMember(prop.Name, o => o.MapFrom(s => replacementValue));
}
}
return map;
}
继续获取System.Reflection.TargetException:'对象与目标类型不匹配'
这里很感谢任何帮助