我有一个界面
interface IInterface<E>{
E Foo();
}
然后我创建一个这样的类
class Bar : IInterface<String>, IInterface<Int32> {
}
这实际上效果很好,除了我需要使用显式接口定义两个函数之一,如下所示:
class Bar : IInterface<String>, IInterface<Int32> {
String Foo();
Int32 IInterface<Int32>.Foo();
}
缺点是每次我想到达具有显式接口的 Foo() 时都必须进行强制转换。
处理此问题时的最佳做法是什么?
我正在做一个非常依赖性能的应用程序,所以我真的不想每秒进行一百万次投射。这是 JIT 会解决的问题,还是我应该自己存储实例的铸造版本?
我没有尝试过这个特定的代码,但它看起来非常接近我正在做的事情。