我不知道我的设计是否正确,这可以解释我对 MapsterMapper 的问题。我将使用一个示例来说明我的问题:
我有一个看起来像的模型:
public class TestModel {
public BModel B { get; set; }
}
public class BModel {
public int Count { get; set; }
}
我想将它们映射到这些类型:
public class Test : ITest {
public IB B { get; internal set; }
}
public interface ITest {
IB B { get; }
}
public class B : IB {
public int Count { get; internal set; }
}
public interface IB {
int Count { get; }
}
我正在尝试映射TestModel
到Test
. 但是,目前 MapsterMapper 无法知道映射BModel
到IB
. 所以它会自动生成一个类型,这可能很好,但我希望它使用我的IB
,实现B
。
所以我试着做:
TypeAdapterConfig<BModel, IB>
.NewConfig()
.ConstructUsing(x => new B());
哪个有效,现在它使用我的实例B
,但它无法Count
从映射BModel
到Count
of B
,可能是因为它没有看到 setter B
,因为它没有在 中定义IB
,我找不到任何解决方法...
我尝试将设置器添加init
到我的接口,然后将设置器添加init
到我的实现,这解决了问题,但我不想向我的接口添加显式设置器。
如果我的设计完全错误并且问题与 MapsterMapper 无关,请告诉我,以便我修复它。
提前致谢!