SORU
18 HAZİRAN 2009, PERŞEMBE


anahtar kelime yeni yöntem imzası

Bir yeniden düzenleme yaparken, bu örnekte olduğu gibi bir yöntem aşağıda oluşturma sona erdi. Veri basitlik aşkına değiştirildi.

Ben önceki böyle bir atama deyimi vardı:

MyObject myVar = new MyObject();

Kazara bu refactored oldu:

private static new MyObject CreateSomething()
{
  return new MyObject{"Something New"};
}

Bu benim için kes/yapıştır bir hata sonucu oldu, ama private static new new anahtar kelime geçerlidir ve derler.

Soru: new anahtar kelime yöntem bir imza ne anlama geliyor? Bir şey tanıtılan C# 3.0 olduğunu zannediyorum.

Bu nasıl override farkı nedir?

CEVAP
18 HAZİRAN 2009, PERŞEMBE


Msdn'den yeni anahtar kelime referans:

MSDN Reference

Burada iyi mantıklı bir Microsoft MVP gelen internette bulduğum bir örnek: Link to Original

public class A
{
   public virtual void One();
   public void Two();
}

public class B : A
{
   public override void One();
   public new void Two();
}

B b = new B();
A a = b as A;

a.One(); // Calls implementation in B
a.Two(); // Calls implementation in A
b.One(); // Calls implementation in B
b.Two(); // Calls implementation in B

Geçersiz kılma sadece çok özel durumlarda kullanılabilir. MSDN:

Sen geçersiz kılamaz sanal olmayan bir ya statik yöntem. Geçersiz kılınmış temel yöntem sanal, soyut, ya da olmalıdır geçersiz kılar.

'Bir' anahtar kelime 'geçersiz' ve statik yöntemler sanal olmayan. izin için gerekli yeni yani

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Liz Morgan

    Liz Morgan

    4 Aralık 2011
  • My Name Is Jeff

    My Name Is J

    26 ŞUBAT 2008
  • Snazzy Labs

    Snazzy Labs

    9 Aralık 2008