SORU
12 HAZİRAN 2009, Cuma


Üst sınıftan atama yapılamıyor Çocuk Sınıf için

Bir alt sınıf bir üst sınıftan atmak için çalışıyorum ama bir InvalidCastException. Alt sınıf sadece int türünde bir özelliği vardır. Herkes ne yapmam gerektiğini biliyor mu?

CEVAP
12 HAZİRAN 2009, Cuma


Temel sınıf referans dir örneği çocuk kendi sınıfının bir örneği değil. Bunda yanlış bir şey yok.

Daha ayrıntılı olarak:

Base derivedInstance = new Derived();
Base baseInstance = new Base();

Derived good = (Derived)derivedInstance; // OK
Derived fail = (Derived)baseInstance; // Throws InvalidCastException

İçin oyuncular için başarılı bir örnek olduğunu downcasting olmalı sınıfının bir örneğini olduğunu downcasting (ya da en azından, sen sınıf downcasting için olmalı içinde örnek sınıf hiyerarşisi), aksi takdirde cast başarısız olur.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boniver

    boniver

    17 NİSAN 2006
  • Phandroid

    Phandroid

    26 Ocak 2009
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010