.net 无LINQ自动制版机
如何在不使用LINQ表达式的情况下映射两种类型及其属性?我有源和目标类型以及源和目标属性的名称。.net 无LINQ自动制版机,.net,automapper,.net,Automapper,如何在不使用LINQ表达式的情况下映射两种类型及其属性?我有源和目标类型以及源和目标属性的名称。 public static TargetType ToTarget(this SourceType source) { return new TargetType { TargetProperty1 = source.SourceProperty1, TargetProperty2 = source.SourceProperty2, T
public static TargetType ToTarget(this SourceType source)
{
return new TargetType
{
TargetProperty1 = source.SourceProperty1,
TargetProperty2 = source.SourceProperty2,
TargetProperty3 = source.SourceProperty3
};
}
// Usage
var target = source.ToTarget();
不涉及LINQ表达式;) 结果很简单:
var sourceType = typeof(SourceType);
var targetType = typeof(TargetType);
var cfg = new MapperConfiguration(x =>
{
var map = x.CreateMap(sourceType, targetType);
map.ForMember("TargetProperty", dest =>
{
dest.MapFrom("SourceProperty");
});
});
var mapper = new Mapper(cfg);
var a = new SourceType { SourceProperty = "Test" };
var b = new TargetType();
mapper.Map(a, b);
试着解释你的意思。也许在你的问题中添加一个例子我很抱歉,但这很明显,不需要任何额外的解释…表达式有什么问题?没什么问题,但我正在动态构建这张地图,对于开发时未知的类型。这是一个与我的问题完全无关的非常愚蠢的示例。@Ricardopers,您应该在问题中提到类型在开发时未知,并且您正在动态构建“映射”,以尊重其他人的时间,并避免所有猜测。否则你的问题应该得到这个答案;)真正地我认为这就是类型和财产名称的含义…无事生非你是一个简单、直截了当、客观的问题的制造者之一耶,对:)希望有人能把这个问题从痛苦中解脱出来。我只是做了,没有更多的话要说或补充。不,为了后代:)