J'ai déclaré la classe suivante. J'ai besoin de récupérer la structure de classe et les valeurs statiques sans l'instancier.GetValue sur un champ statique à l'intérieur de classes imbriquées
public class MyClass()
{
public static string field = "Value";
public class nestedClass()
{
public static string nestedField = "NestedValue";
}
}
Je l'ai utilisé avec succès GetFields et GetNestedType pour récupérer la structure de classe et GetValue (null) fonctionne très bien sur le terrain, mais pas sur nestedField. Permettez-moi échantillon:
var fi = typeof(MyClass).GetField("field", BindingFlags.Public | BindingFlags.Static);
var nt = typeof(MyClass).GetNestedType("nestedClass", BindingFlags.Public);
var nfi = nt.GetField("nestedField", BindingFlags.Public | BindingFlags.Static);
// All the above references are detected correctly
var value = fi.GetValue(null); // until here everything works fine. value == "Value"
var nestedValue = nfi.GetValue(null); // this one does not work!!
Tout le monde sait pourquoi la dernière ligne ne fonctionne pas et comment travailler autour? Merci.
Veuillez fournir un code court mais * complet *. Actuellement, vous n'avez pas de classe imbriquée - vous avez une * méthode * appelée 'nestedClass'. Si vous pouvez nous fournir quelque chose que nous pouvons couper, coller et analyser, cela nous aidera beaucoup. –
Il serait utile de savoir quelle exception vous obtenez. Cela peut être un problème de sécurité du code par exemple. – Robert