Czy GetType () zwróci najbardziej pochodny typ, gdy zostanie wywołany z klasy bazowej?
Przykład:
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
}
Czy powinienem po prostu utworzyć metodę abstrakcyjną, którą klasy pochodne będą musiały zaimplementować, jak poniżej?
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();
}
}