Je veux obtenir la méthode mais il y a plus d'une surcharge. Par exemple, dans l'objet, j'ai essayé d'obtenir "Equals". Lorsque vous utilisezRéflexion GetMethod. sélectionnez une méthode plus spécifique
public virtual bool Equals(object obj);
public static bool Equals(object objA, object objB);
écrit typeof(Object).GetMethod("Equals")
m'a fait une exception, écrit typeof(Object).GetMethod("public virtual bool Equals(object obj)")
m'a fait nulle. Comment puis-je spécifier quelle méthode je veux dans ce cas?
Ah ha! J'ai essayé la surcharge et seulement utilisé BindingFlags.Instance. Pas étonnant que j'ai obtenu null (et j'ai essayé BindingFlags.Public par lui-même ainsi sans réfléchir). Je veux vérifier si un objet remplace une méthode donc j'essaie de comparer ces méthodes et je me trompe. Y a-t-il un moyen pour moi de voir si "Equals" est identique à sa base ou a été remplacé? -edit- j'essaie d'écrire un pauvre mais convenable comparer par réflexion –
@ acidzombie24: Je ne suis pas sûr, pour être honnête. Je pense que vous pourriez probablement obtenir la méthode déclarée dans cette classe, puis la méthode déclarée sur la classe de base, et voir si elles sont identiques ... mais je ne suis pas sûr. –
Je ne parais pas capable de les comparer TOUJOURS je peux écrire .GetBaseDefinition() alors ce que j'ai fait s'appelait cela avec la méthode dans la base et cela devrait me dire si on était surchargé ou non –