C# 3.0 具有C2.0语法的自动映射

C# 3.0 具有C2.0语法的自动映射,c#-3.0,c#-2.0,automapper,C# 3.0,C# 2.0,Automapper,我正在尝试使用AutoMapper创建一个自定义映射,但是我不能在lambdas中使用3.0语法。如何将这3.0代码转换为2.0 Mapper.CreateMap<MyClass, MyDto>() .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.CompanyName)) 编辑: 由于没有更好的解决方案,我们现在在一个工作站上使用vs2008来进行这些映射并构建dll。我希望升级到vs20

我正在尝试使用AutoMapper创建一个自定义映射,但是我不能在lambdas中使用3.0语法。如何将这3.0代码转换为2.0

Mapper.CreateMap<MyClass, MyDto>()
 .ForMember(dest => dest.Name, opt => opt.MapFrom(src => src.CompanyName))
编辑:


由于没有更好的解决方案,我们现在在一个工作站上使用vs2008来进行这些映射并构建dll。我希望升级到vs2010不会太久。

编辑:Jimmy在评论中提到AutoMapper使用表达式树。这并不能立即排除使用.NET2.0的可能性,您可以使用Mono的System.Core实现,但如果您甚至不能使用C3,您将不得不手动构建所有表达式树,这将是一个巨大的痛苦


是否绝对禁止您使用.NET 3.5和C 3?

编辑:Jimmy在评论中提到AutoMapper使用表达式树。这并不能立即排除使用.NET2.0的可能性,您可以使用Mono的System.Core实现,但如果您甚至不能使用C3,您将不得不手动构建所有表达式树,这将是一个巨大的痛苦


是否绝对禁止您使用.NET 3.5和C 3?

以前在VS2005中可以使用LINQ-请参阅不确定这是否仍然受支持,尽管我在delegateBar选项上遇到了问题{返回opt.MapFrom…Bar是什么,它为什么有.MapFrom方法?@Morri:Bar将是原始lambda表达式中opt的任何类型。@Jon Skeet:我使用的是来自的教程,它不知道opt是什么类型。@Jon AutoMapper使用表达式进行强类型反射,因此不能使用匿名委托路由。The FormMember方法接受一个表达式,而不是Func。以前可以在VS2005中使用LINQ-请参阅不确定这是否仍然受支持,尽管我在delegateBar选项上遇到了问题{返回opt.MapFrom…Bar是什么,它为什么有.MapFrom方法?@Morri:Bar将是原始lambda表达式中opt的任何类型。@Jon Skeet:我使用的是来自的教程,它不知道opt是什么类型。@Jon AutoMapper使用表达式进行强类型反射,因此不能使用匿名委托路由。The ForMember方法接受表达式,而不是Func。