相关疑难解决方法(0)

什么是控制倒置?

控制反转(或IoC)在第一次遇到时会非常混乱.

  1. 它是什么?
  2. 它解决了哪个问题?
  3. 何时适合使用,何时不适用?

oop design-patterns inversion-of-control

1704
推荐指数
30
解决办法
46万
查看次数

使用automapper将一个源类映射到多个派生类

假设我有一个源类:

public class Source
{
    //Several properties that can be mapped to DerivedBase and its subclasses
}
Run Code Online (Sandbox Code Playgroud)

还有一些目的地类:

public class DestinationBase
{
     //Several properties
}

public class DestinationDerived1 : DestinationBase
{
     //Several properties
}

public class DestinationDerived2 : DestinationBase
{
     //Several properties
}
Run Code Online (Sandbox Code Playgroud)

然后我希望派生的目标类继承baseclass的automapper配置,因为我不想重复它,有没有办法实现这个?

Mapper.CreateMap<Source, DestinationBase>()
    .ForMember(...)
    // Many more specific configurations that should not have to be repeated for the derived classes
    .ForMember(...);

Mapper.CreateMap<Source, DestinationDerived1 >()
    .ForMember(...);
Mapper.CreateMap<Source, DestinationDerived2 >()
    .ForMember(...);
Run Code Online (Sandbox Code Playgroud)

当我像这样写它时根本不使用基本映射,包含似乎对我没有帮助.

编辑:这是我得到的:

public class Source
{
    public string …
Run Code Online (Sandbox Code Playgroud)

c# automapper automapper-2

21
推荐指数
2
解决办法
2万
查看次数

AutoMapper - 继承映射不​​起作用,相同的源,多个目标

我可以在AutoMapper(v2.2)中使用具有相同Source类型但不同Destination类型的映射的继承映射吗?

我有这个基本情况(真正的类有更多的属性):

public abstract class BaseViewModel
{
    public int CommonProperty { get; set;}
}

public class ViewModelA : BaseViewModel
{
    public int PropertyA { get; set; }
}

public class ViewModelB : BaseViewModel
{
    public int PropertyB { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

ViewModelA并且ViewModelB是同一个Entity类的不同表示:

public class Entity
{
    public int Property1 { get; set; }
    public int Property2 { get; set; }
    public int Property3 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想BaseViewModel为每个ViewModel 重用相同的映射,例如:

Mapper.CreateMap<Entity, BaseViewModel>()
    .Include<Entity, ViewModelA>() …
Run Code Online (Sandbox Code Playgroud)

c# inheritance automapper automapper-2

12
推荐指数
1
解决办法
6230
查看次数