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ş:
C türetilmiş sınıf boyutunu arttırmak ...
Neden türetilmiş sınıftaki bir yöntemi...
Java, nasıl bir temel sınıf'türet...
Neden türetilmiş bir sınıfta geçersiz ...
Python birden çok geri dönüş değeri gö...