/ / Reflection ne trouve pas la méthode implémentée - c #, réflexion, windows-phone

La réflexion ne trouve pas la méthode implémentée - c #, réflexion, windows-phone

Je ne peux pas comprendre pourquoi je reçois une exception concernant cette ligne:

public void DoIt(object sender, MyEventArgs e) {
//... other stuff
Type type = sender.GetType();
if (type.GetMethod(e.ActionName, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance) == null)
throw new NotSupportedException("Method: " + e.ActionName + " not implemented");
type.InvokeMember(e.ActionName, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Instance, null, sender, e.Parameters.ToArray());

}

Je ne reçois toujours pas d'erreur sur la méthode, mais je suis sûr que c'est parce que la condition dans l'instruction if avant l'invocation est fausse.

Réponses:

1 pour la réponse № 1

En fait, c’est un dispositif de sécurité. J'ai déjà rencontré cela auparavant dans Silverlight - vous avez simplement ne peux pas réfléchir sur les membres de la classe privée sur cette plate-forme. Windows Phone étant assez similaire à Silverlight, je suis pratiquement sûr que les mêmes restrictions s’appliquent également dans ce pays.