为什么Xamarin生成的Java.Util.Date不是IComparable

时间:2014-11-21 14:48:21

标签: c# xamarin icomparable

我是C#和Xamarin的新手,所以希望这是一个简单的答案。

我发现自己需要一种可以在不同物体上运行的反射比较方法。我的解决方案基于this问题中接受的答案。由于我需要能够处理超过严格的相等并使用比较运算符(如果可用),我添加了以下检查

if (firstValue is System.IComparable)
{
    System.IComparable f = firstValue as System.IComparable;
    System.IComparable s = secondValue as System.IComparable;
...

这样我就可以利用CompareTo方法了解更多信息。

这适用于数值等内容,但不适用于Xamarin生成的Java.Util.Date,我想了解原因。

namespace Java.Util
{
    public class Date : Object, ISerializable, ICloneable, IComparable, IJavaObject, IDisposable
    {
        ... 
        public virtual int CompareTo(Date date);
        ...
    }
}

definition of the is operator in the C# reference开始,似乎这就是is应评估为true的情况。

我已检查过,IComparable正在实施的Java.Util.DateSystem.IComparable

我目前有一个工作,我只是在日期递归地调用这个方法,但这只是我的困惑。

感谢您的帮助!

0 个答案:

没有答案