私はそれが何を意味するのか知っていますが、この問題に対するエレガントな解決策を望んでいます。回避策として、さまざまなシグネチャを使用してメソッドを作成できますが、それでは満足できません。私のシナリオは次のとおりです。
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) { ... }      
}
この問題に対するエレガントな解決策は素晴らしいでしょう