public class FakeNull : IFoo
public override bool Equals(object obj)
public override int GetHashCode()
public static void Main()
FakeNull noInterface = new FakeNull();
IFoo withInterface = new FakeNull();
System.Console.WriteLine($"No Interface => {noInterface.Equals(null)}");
System.Console.WriteLine($"Interface Broken => {withInterface == null}");
System.Console.WriteLine($"Interface Fixed => {withInterface == null || withInterface.Equals(null)}");