我知道這意味着什麼,但希望解決此問題。對於解決方案,我可以創建具有不同簽名的方法,但這不會讓我滿意。 我的方案是如下:具有相同簽名的會員已被聲明
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) { ... }
}
任何優雅的解決這一問題將是巨大的
@MarcGravell是的,它是模糊的,如果允許C#,我可以將返回值轉換爲ViewModelOne和ViewModelTwo,它可以執行適當的方法。我可以在ISiteMapper等編寫MapToViewModelTwo方法,但我想讓我選擇大腦,看看有沒有辦法解決這個問題 – DotNetInfo 2012-08-02 07:58:40