SORU
25 NİSAN 2011, PAZARTESİ


GetType() temel sınıf çağrıldığında çoğu türetilmiş bir tür geri dönüş mü?

GetType() temel sınıf çağrıldığında çoğu türetilmiş bir tür geri dönüş mü?

Örnek:

public abstract class A
{
    private Type GetInfo()
    {
         return System.Attribute.GetCustomAttributes(this.GetType());
    }
}

public class B : A
{
   //Fields here have some custom attributes added to them
}

Ya da sadece türetilmiş sınıfları aşağıdaki gibi uygulamak zorunda olacak soyut bir yöntem yapmalıyım?

public abstract class A
{
    protected abstract Type GetSubType();

    private Type GetInfo()
    {
         return System.Attribute.GetCustomAttributes(GetSubType());
    }
}

public class B : A
{
   //Fields here have some custom attributes added to them

   protected Type GetSubType()
   {
       return GetType();
   }
}

CEVAP
25 NİSAN 2011, PAZARTESİ


GetType() gerçek, örneği türünü döndürür. Senin durumunda, arama GetType() örneği B döndürür typeof(B) bile değişken söz konusu olduğu bildirilen bir referans için bir A.

GetSubType() yöntemi için bir sebep yok.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Maschine Tutorials

    Maschine Tut

    15 ŞUBAT 2011
  • Menglong Tav

    Menglong Tav

    18 Temmuz 2010
  • WOSU Public Media

    WOSU Public

    23 AĞUSTOS 2007