這類似於另一個話題我最近公佈,但也許這可能是簡單和清晰:C#上溯造型泛型類型接口
我要完成以下(或非常類似的東西)...
IManageableEntryDao<IManageableEntry> dao = new CompanyNameDao();
...有以下類:
public interface IManageableEntry {
string Name { get; set; }
}
public class CompanyName : IManageableEntry {
public string Name { get; set; }
}
public interface IManageableEntryDao<T> where T : IManageableEntry {
}
public class CompanyNameDao : IManageableEntryDao<CompanyName> {
}
如果我嘗試做一個投as IManageableEntryDao<IManageableEntry>
,我得到一個空。
所以這不會在C#3.5中可行嗎? –
可悲的是,沒有。至少,不直接。您必須找到解決方法,例如使'CompanyNameDao'繼承於'IManageableEntryDao';這是你的要求。 –
univerio
正確,那不太優雅,因爲那麼CompanyNameDao返回IManageableEntry對象而不是CompanyName對象。 –