我知道这意味着什么,但想要优雅地解决这个问题。对于解决方案,我可以创建具有不同签名的方法,但这不会让我满意。我的情况如下:
public interface IDomainToViewMapper<TModel, TViewModel>
{
TViewModel MapDomainToView(TModel source);
}
public interface ISiteMapper : IDomainToViewMapper<Site, ViewModelOne>,
IDomainToViewMapper<Site, ViewModelTwo>
{ }
现在,当我编写我的主要实现类时,我得到了具有相同签名问题的成员。我可以继续明确地实现接口,但是因为我们正在动态注入依赖项,所以我不能转换为接口,这将再次模棱两可。
public SiteMapper : ISiteMapper
{
public ViewModelOne MapDomainToView(Site site) { ... }
public ViewModelTwo MapDomainToView(Site site) { ... }
}
任何优雅的解决方案都会很棒