SORU
23 EYLÜL 2008, Salı


Sanal bir kurucu üye çağrı

Benim nesneleri yapıcı bir sanal üye çağrı hakkında ReSharper bir uyarı alıyorum. Neden böyle bir şey yapma olur mu?

CEVAP
23 EYLÜL 2008, Salı


(C yazdığını varsayarak# burada)

Ne zaman bir nesne ile yazılmış C# inşa edilmiş, ne olur bu başlatıcılar çalıştırmak için en türetilmiş sınıf temel sınıf, ve sonra kurucular çalıştırmak için temel sınıfından en türetilmiş sınıf (see Eric Lippert's blog for details as to why this is).

Ayrıca .NET nesneleri oluşturulması gibi türünü değiştirmek istemiyorum, ama çoğu türetilmiş bir tür olarak başlar, yöntem tablo en türetilmiş bir tür için. Bu sanal yöntem çağrıları her zaman en türetilmiş bir tür üzerinde çalışan anlamına gelir.

Ne zaman bir araya bu iki gerçekler vardır sol ile sorunu olan bir sanal yöntem çağrısı, bir kurucu ve bir değil en türetilmiş türü olan devralma hiyerarşisi, bu olacak diye bir sınıf olan kurucu değil çalıştırmak, ve bu nedenle değil bir devlet için uygun olan yöntemi denir.

Bu sorun, elbette, hafifletilmiş eğer mark sınıf olarak kapalı olmasını sağlamak en türetilmiş tür bir kalıtım hiyerarşisi içinde hangi durumda gayet Güvenli Arama için sanal bir yöntem.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David Wills

    David Wills

    31 Aralık 2007
  • ExcelIsFun

    ExcelIsFun

    16 ŞUBAT 2008
  • failblog

    failblog

    17 HAZİRAN 2008