Files
codeql/csharp/ql/test/library-tests/frameworks/system/Equals/Equals.cs
2018-08-02 17:53:23 +01:00

27 lines
525 B
C#

using System;
class NoEquals { }
class Equals1
{
public override bool Equals(object other) => false;
}
abstract class Equals2<T> : IEquatable<T>
{
public abstract bool Equals(T other);
public override bool Equals(object other) { return other != null && GetType() == other.GetType() && Equals((T)other); }
}
class Equals3 : Equals2<Equals3>
{
public override bool Equals(Equals3 other) => true;
}
struct NoEqualsStruct { }
struct Equals1Struct
{
public override bool Equals(object other) => false;
}