0
我需要在同一接口中使用泛型方法和非泛型方法。C#泛型方法歧義
public interface IBRClientActions<T>
where T : class
{
T add(T element);
Hashtable add(Hashtable hashtable);
void update(T element);
void update(Hashtable hashtable);
}
後,我在我的最後一個類實現其他接口,該接口與許多類型
public interface IBRClientActions : IBRClientActions<AdresseClient>,
IBRClientActions<Role>,
IBRClientActions<LienClient>
{
...
}
我需要類似的東西
public class FinalClass : IBRClientActions
{
AdresseClient add(AdresseClient element) { ... }
Hashtable add**<AdresseClient>**(Hashtable hashtable) { ... }
....
}
但Hashtable add<AdresseClient>(Hashtable hashtable) { ... }
是不可能 其實我有帶有Hashtable的方法中的模糊引用。
如何爲每種類型使用Hashtable添加方法?
編輯1
顯式接口實現
是的,這是一個可能性,但這種解決方案我必須在每次
Hashtable htRole = new Hashtable();
FinalClass myClass = new FinalClass();
/* not correct, ambiguity */
myClass.add(htRole);
/* correct, no ambiguity but heavy writing (sorry for my bad english) */
((IBRClientActions<Role>)myClass).add(htRole);