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

  • cekehechu

    cekehechu

    20 HAZİRAN 2006
  • GirlSanctuaryBlog

    GirlSanctuar

    28 Aralık 2011
  • wwjoshdu

    wwjoshdu

    18 ŞUBAT 2011