我需要在同一个接口中使用泛型方法和非泛型方法。
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);