有比較兩個整數值的一些問題。做一個的CompareTo是給錯誤的對象的類型必須爲INT32
public interface IData
{
bool EqualsTo(IData otherData);
}
public class IntegerData : IData
{
int _data;
public IntegerData(int data)
{
_data = data;
}
public bool EqualsTo(IData otherData)
{
if(_data.CompareTo(otherData) == 0)
return true;
return false;
}
}
我得到一個錯誤在該行:
if(_data.CompareTo(otherData) == 0)
說:
Object must of type int32
但在我的觀察窗口,我可以看到這兩個值是10,並且類型爲int 。
怎麼了?
我的測試:
IData FirstData = new IntegerData(5);
IData FirstData = new SecondData(5);
bool result = FirstData.Value.EqualsTo(SecondData.Value);
'otherData'是類型的'IData',不'Int'。你可能想要'otherData._Data'。 –