【发布时间】:2016-03-03 14:26:14
【问题描述】:
我知道如何实现一个从非通用接口继承的通用接口,但是在这个过程中有一些我不明白的地方:
为什么非泛型接口方法不能在实现接口的类中声明为public?
一个例子:
interface InputTestSocket
{
object GetValue();
}
interface InputTestSocket<T> : InputTestSocket
{
new T GetValue();
}
class FloatInputSocketValues : InputTestSocket<float>
{
IFloatConvertable _output;
public void SetConvertable(IFloatConvertable output) { _output = output; }
//If I make this method public it won't compile. Musn't all interfaces be public?
object InputTestSocket.GetValue() { return null; }
public float GetValue() { return _output.ToFloat(); }
}
【问题讨论】: