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

  • Ben Vivona

    Ben Vivona

    24 Ocak 2010
  • Bobbylee Budde

    Bobbylee Bud

    13 ŞUBAT 2011
  • TechnoBuffalo

    TechnoBuffal

    8 HAZİRAN 2007