我已经搜索了一下这个并尝试了一些事情,如果不把我想要的东西丢掉,就无法让它工作。
通常我让Resharper使用名称空间优化。在将DTO映射到域模型对象的服务实现中,为每个对象创建别名是一个很好的可视化。这样,当它很晚,你被剥夺了睡眠时看到Dtos.Customer
和DomainModel.Customer
有帮助。
using DomainModel = MyProduct.Core.Domain.Model;
using Dtos = MyProduct.ServiceModel.Dtos;
当我运行代码清理时,它将更改为:
using DomainModel = MyProduct.Core.Domain.Model;
using Customer = MyProduct.Core.Domain.Model.Customer;
是否有人这样或类似的东西并让R#不再打击它?
答案 0 :(得分:3)
这是ReSharper在你提出时会做的事情:缩短引用,代码清理。
即使这种行为可能对您不利,但从技术上讲,它是正确的。因为在你的代码中它会缩短一些东西。这就是算法应该做的事情。
这就是算法的工作原理导致了这个结果:
using Customer = MyProduct.Core.Domain.Model.Customer;
)。using Dtos = MyProduct.ServiceModel.Dtos;
已不再使用(毕竟,另一个使用涵盖缩短的参考)。并删除它。这是我怀疑是造成这种情况的原因。如果没有看到代码中的实际用法,我无法100%肯定。但这很可能是重构的原因。