AutoMapper:映射到由接口定义的嵌套对象中包含私有setter
创始人
2024-09-23 17:00:37
0

AutoMapper是用于对象映射的开源库,它默认只支持映射到公共setter属性。如果我们需要映射到嵌套对象中定义的私有setter属性,可以使用以下方法实现。

在源和目标类型的接口中定义属性。这些属性应该只具有getter和setter访问器,并且在源和目标类型的相应类中应该有适当的实现。

public interface ISource 
{
    int InnerValue { get; }
}

public class Source : ISource 
{
    public int InnerValue { get; set; }
}

public interface IDestination 
{
    ISource Inner { get; }
}

public class Destination : IDestination 
{
    public ISource Inner { get; private set; }
    void SetInner(ISource inner) { Inner = inner; }
}

然后,使用以下代码进行映射:

Mapper.Initialize(cfg =>
{
    cfg.CreateMap();
    cfg.CreateMap()
        .ForMember(dest => dest.Inner, opt => opt.MapFrom(src => src));
});

var source = new Source { InnerValue = 42 };
var destination = Mapper.Map(source);

Console.WriteLine(destination.Inner.InnerValue); //输出42

这里是通过使用.ForMember()方法映射源和目标的接口属性的示例。innerValue的值42已成功映射到目标对象中。

相关内容

热门资讯

分享一款!微乐自建房辅助工具,... 分享一款!微乐自建房辅助工具,微乐家乡麻将自建房辅助app(开挂自建房)教程1、任何微乐家乡麻将自建...
技术分享!微信卡五星辅助器,微... 技术分享!微信卡五星辅助器,微乐家乡麻将自建房辅助app(开挂自建房)app1、微乐家乡麻将自建房辅...
必备攻略!微信雀神麻将挂件开挂... 必备攻略!微信雀神麻将挂件开挂辅助,微乐小程序免费黑科技(开挂自建房)教程1、点击下载安装,微信雀神...
重大发现!微乐家乡麻将自建房辅... 重大发现!微乐家乡麻将自建房辅助app,微乐家乡麻将自建房辅助app(开挂自建房)教程1、许多玩家不...
分享认知!微乐自建房辅助工具免... 您好,微乐自建房辅助工具免费app这款游戏可以开挂的,确实是有挂的,需要了解加去威信【1367043...
玩家必看教程!微信微乐自建房辅... 玩家必看教程!微信微乐自建房辅助工具,微乐小程序免费黑科技(开挂自建房)技巧一、微信微乐自建房辅助工...
盘点一款!微乐家乡麻将自建房辅... 盘点一款!微乐家乡麻将自建房辅助app,微乐家乡麻将自建房辅助app(开挂自建房)脚本小薇(辅助器软...
三分钟了解!微乐小程序自建房辅... 三分钟了解!微乐小程序自建房辅助工具插件,微乐小程序免费黑科技(开挂自建房)脚本1、每一步都需要思考...
玩家攻略!微信卡五星辅助器,微... 玩家攻略!微信卡五星辅助器,微乐自建房脚本免费入口(开挂自建房)攻略1、打开软件启动之后找到中间准星...
教程辅助!微乐微信自建房辅助工... 教程辅助!微乐微信自建房辅助工具插件,微乐小程序免费黑科技(开挂自建房)工具所有人都在同一条线上,像...