爲什麼這個測試失敗?奇怪的Int64.Equals行爲
[Test]
public void Int64Test()
{
Int64Keys ObjBigInt = new Int64Keys();
ObjBigInt.Id = 0;
PropertyInfo p = ObjBigInt.GetType().GetProperty("Id");
var IDValue = p.GetValue(ObjBigInt, null);
//var IDType = IDValue.GetType(); //returns {System.Int64}
Assert.IsTrue(IDValue.Equals(0)); //is returning false and the type if IDValue is Int64()
}
public class Int64Keys
{
public Int64 Id { get; set; }
}
public class Int32Keys
{
public Int32 Id { get; set; }
}
public class DoubleKeys
{
public double Id { get; set; }
}
I referred這個問題,但沒有得到足夠的想法來解決這個問題。
編輯: 我正在使用Repository模式,所以我的實例可以是任何類型(Int32,Int64,double)。