SORU
16 EYLÜL 2008, Salı


Nasıl'==' sonsuz özyineleme olmadan operatör aşırı bir boşluk için kontrol edebilirim?

Aşağıdaki == operatör yöntemi aşırı sonsuz özyineleme neden olur

    Foo foo1 = null;
    Foo foo2 = new Foo();
    Assert.IsFalse(foo1 == foo2);

    public static bool operator ==(Foo foo1, Foo foo2) {
        if (foo1 == null) return foo2 == null;
        return foo1.Equals(foo2);
    }

Null nasıl kontrol edebilirim?

CEVAP
16 EYLÜL 2008, Salı


Kullanım ReferenceEquals:

Foo foo1 = null;
Foo foo2 = new Foo();
Assert.IsFalse(foo1 == foo2);

public static bool operator ==(Foo foo1, Foo foo2) {
    if (object.ReferenceEquals(null, foo1))
        return object.ReferenceEquals(null, foo2);
    return foo1.Equals(foo2);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • LivestrongWoman

    LivestrongWo

    1 Aralık 2011
  • MandMEvangelists

    MandMEvangel

    28 Ocak 2008