我已经实现了 iEquatable 接口:
LineItem : IEquatable<LineItem>
但现在我想Equals(...)
通过单步调试代码来调试我的方法。但即使在调试模式下,单步执行也不会进入它(即 F11),并且在方法中放置断点也不会让我进入它。我该如何调试它?
并不是说它应该是相关的,但这是我的Equals
方法:
public bool Equals(LineItem other)
{
List<bool> individuals = new List<bool>();
individuals.Add(DateTime.Equals(Expiry, other.Expiry));
individuals.Add(Code == other.Code);
individuals.Add(Type == other.Type);
individuals.Add(Class == other.Class);
Func<object, object, bool> Compare = delegate(object A, object B)
{
if (A == DBNull.Value || B == DBNull.Value)
return A == B;
else
return (double)A == (double)B;
};
individuals.Add(Compare(Strike, other.Strike));
individuals.Add(Compare(Future, other.Future));
individuals.Add(Compare(Premium, other.Premium));
individuals.Add(Compare(Volatility, other.Volatility));
individuals.Add(Compare(Volume, other.Volume));
individuals.Add(Compare(OpenInterest, other.OpenInterest));
individuals.Add(Compare(Delta, other.Delta));
return !individuals.Contains(false);
}
编辑: 我现在从我的代码中的其他地方调用该方法,如下所示:
if(!fo.Future.Equals(li))...
但这仍然不允许我调试它。