Bonjour,

Voilà mon problème:

Quand je veux appeler une méthode par reflexion, la méthode 'GetMethod' de la classe Type renvoie null, alors que la méthode existe bien dans la classe.

Pourtant, après quelques compilations (j'essayais de debuggé pas à pas), le bug à disparu sans que je change la moindre ligne de code.

Je pensais que .NET cherchait la méthode dans un assembly en cache.

Voilà le code qui me permet de trouver mon type:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
public static Type retourner_type(string a_type_utilisateur)
        {
            foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
                foreach (Type type in assembly.GetTypes())
                    if (((a_type_utilisateur == type.Name) || (a_type_utilisateur == type.FullName)) && !type.Assembly.GlobalAssemblyCache)
                        return type;
 
            return null;
        }
Le rajout de la condition '!type.Assembly.GlobalAssemblyCache' n'a pourtant pas réglé mon problème.

Du coup je ne comprend pas...
Ma méthode de recherche de type ne doit pas être terrible, je l'avais copiée je ne sais plus ou, mais jusqu'à maintenant je n'avais pas eu de problème...

Une idée?

Le bug est levé sur l'environnement de développement, et je ne veux pas courir le risque de le balancer en production