Appelez dynamiquement des méthodes privées, en particulier lorsque le nom de la méthode est basé sur le changement de valeur d'entrée, la technologie réflexe doit être utilisée.
Les méthodes n'obtiennent que des méthodes publiques par défaut, ignorez les méthodes privées. Pour accéder aux méthodes privées, vous devez ajouter à la fonction GetMethod()
. GetMethod()
BindingFlags
Vous devez combiner et
BindingFlags.NonPublic
Le code modifié est le suivant: BindingFlags.Instance
Ce code récupérera avec succès la méthode privée "Draw_" et utilisera le paramètre fourni pour l'appeler.
<code class="language-csharp">MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType, BindingFlags.NonPublic | BindingFlags.Instance); dynMethod.Invoke(this, new object[] { methodParams });</code>
, veuillez vous référer aux documents suivants:
BindingFlags
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!