小さな例では、このlink
Mapper.Initialize(cfg =>
{
cfg.CreateMap<Class1, Class2>();
cfg.ForAllMaps((typeMap, mappingExpr) =>
{
var ignoredPropMaps = typeMap.GetPropertyMaps();
foreach (var map in ignoredPropMaps)
{
var sourcePropInfo = map.SourceMember as PropertyInfo;
if (sourcePropInfo == null) continue;
if (sourcePropInfo.PropertyType != map.DestinationPropertyType)
map.Ignored = true;
}
});
});
Class1 src = new Class1()
{
TestProperty = "A"
};
Class2 dest = Mapper.Map<Class1, Class2>(src);
テストクラスに基づいています。
public class Class1
{
public string TestProperty { get; set; }
}
public class Class2
{
public bool TestProperty { get; set; }
}
出典
2017-08-01 20:47:03
Ben
は、あなたが "さまざまな種類の" 何を意味するのですか? 1つは、DateTimeと1つの文字列、またはそのような何ですか? 「マッピングを無視する」とはどういう意味ですか、除外したいのですか?質問を編集して、何をしようとしているのかの例を示し、それが「うまくいかない」理由を説明してください。 – stuartd