1

刚开始使用 Value Injector: http: //valueinjecter.codeplex.com/,我有一个问题:

我有一个具有许多属性的 Source 类。某些属性具有“配置文件”的通用后缀。这些属性并不总是字符串,但大部分都是。目标有 1 个属性,Dictionary<string, string>。我希望所有以“配置文件”结尾的属性都插入到Dictionary<string, string>key = PropertyName 和 value = Property 的值中。我认为可以做到,但文档对我来说不是很清楚。有人可以指出我正确的方向吗?谢谢!

4

1 回答 1

1

抱歉,我没有使用 Value Injector 的经验,但如果您选择使用AutoMapper,您很可能会使用自定义解析器

Mapper.CreateMap<Source, Destination>()
    .ForMember(dest => dest.Profile, opt => opt.ResolveUsing<ProfileResolver>());

解析器看起来像这样:

public class ProfileResolver : ValueResolver<Source, Dictionary<string, string>>
{
    protected override int ResolveCore(Source source)
    {
        var rc = new Dictionary<string, string>();
        // Do some funky reflection stuff here
        return rc;
    }

}

完整的详细信息可以在自定义解析器文档中找到。

于 2012-12-13T04:44:48.097 回答