Dans .NET, en utilisant la réflexion, comment puis-je obtenir les variables de classe utilisées dans une méthode?Comment puis-je obtenir des champs utilisés dans une méthode (.NET)?
Ex:
class A
{
UltraClass B = new(..);
SupaClass C = new(..);
void M1()
{
B.xyz(); // it can be a method call
int a = C.a; // a variable access
}
}
Remarque: retourne GetClassVariablesInMethod (M1 MethodInfo) les variables B et C. Par variables, je veux dire la valeur et/ou le type et les paramètres du constructeur de cette variable spécifique.
Je ne comprends pas ce que vous essayez de faire. Pourquoi avez-vous besoin de réflexion? Avec les "variables de classe", voulez-vous dire les champs? Vous pouvez facilement obtenir l'instance actuelle d'un certain champ, mais pas les arguments constructeur utilisés pour le créer. Pourquoi avez-vous besoin de cela? –
Par variables de classe, j'entends les champs de portée de classe qui sont des classes. Je pense à déclarer un attribut pour certaines méthodes qui nécessite des choses spéciales à faire en fonction des variables qu'il utilise de sa classe parente. L'instance actuelle d'un certain champ peut fonctionner pour moi. – kerem