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

  • edwin maldonado

    edwin maldon

    28 Mart 2009
  • Rickymon Tero

    Rickymon Ter

    1 Ocak 2007
  • The Amazing Atheist

    The Amazing

    20 Kasım 2006