как лучше всего перегрузить оператор ==, который сравнивает два экземпляра одного и того же класса, когда дело доходит до сравнения нулевых ссылок?
MyObject o1 = null;
MyObject o2 = null;
if (o1 == o2) ...
static bool operator == (MyClass o1, MyClass o2)
{
// ooops! this way leads toward recursion with stackoverflow as the result
if (o1 == null && o2 == null)
return true;
// it works!
if (Equals(o1, null) && Equals(o2, null))
return true;
...
}
Каков наилучший подход обрабатывать пустые ссылки в сравнении?