When using this method, you may get unexpected results if you pass it parameters that are not of type
Object. For instance, the following code example does not work as it would in the .NET Framework for the desktop.
long now = DateTime.Now.Ticks; DateTime t1 = new DateTime( now ); DateTime t2 = new DateTime( now ); Debug.Assert(t1 == t2); // OK Debug.Assert(t1.Equals(t2)); // OK Debug.Assert(object.Equals(t1, t2 )); // Throws exception!
In the preceding example, the exception would not normally be thrown when using the .NET Framework. However, the .NET Micro Framework does throw an exception because it cannot determine the types of the objects being compared. The .NET Micro Framework functions this way to keep its size small. Implementing the full desktop semantics of this method would significantly increase the size of all objects in all programs for the .NET Micro Framework.