问题描述
我不知道我的设计是否正确,这可以解释我的 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
的 B
,可能是因为它没有看到来自 B
的 setter,因为它没有在 IB
中定义,而且我找不到任何解决方法......
我尝试将 init
setter 添加到我的接口,然后将 init
setter 添加到我的实现,这解决了问题,但我不想向我的接口添加显式 setter。
如果我的设计完全错误并且问题与 MapsterMapper 无关,请告诉我以便我修复它。
提前致谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)