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

  • Matt Harding

    Matt Harding

    23 Mayıs 2006
  • Video Copilot

    Video Copilo

    21 EYLÜL 2006
  • YEAH1TV

    YEAH1TV

    19 ŞUBAT 2009