GetType () retournera-t-il le type le plus dérivé lorsqu'il est appelé à partir de la classe de base?
Exemple:
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
}
Ou devrais-je simplement créer une méthode abstraite que les classes dérivées devront implémenter comme suit?
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();
}
}