J'écris une bibliothèque qui génère dynamiquement des classes dérivées de classes abstraites au moment de l'exécution. Le constructeur de la classe dérivée a besoin d'un MethodInfo
du constructeur de la classe de base pour pouvoir l'invoquer. Toutefois, pour une raison quelconque, Type.GetConstructor()
renvoie null
. Par exemple:Comment utiliser la réflexion pour obtenir un constructeur par défaut?
abstract class Test
{
public abstract void F();
}
public static void Main(string[] args)
{
ConstructorInfo constructor = typeof(Test).GetConstructor(
BindingFlags.NonPublic | BindingFlags.Public,
null, System.Type.EmptyTypes, null); // returns null!
}
Notez que GetConstructor
retours null
même si je déclare explicitement un constructeur dans Test
, et même si le test est pas abstrait.