Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

[Resolvido] Como acessar variáveis que são private de métodos public ?

$
0
0
Ola senhores, Só dando opções pra vocês, é possível acessar variáveis privadas da instancia utilizando Reflection, segue um método genérico que efetua isso, é só chamar passando os parâmetros. /// <summary> /// Utilizando reflection para pegar atributo do objeto /// </summary> /// /// <param name="type">O Tipo da instancia.</param> /// <param name="instance">A instancia do Objeto.</param> /// <param name="fieldName">O nome do atributo que retornará o erro.</param> /// /// <returns>O valor do atributo do objeto passado.</returns> internal static object GetInstanceField(Type type, object instance, string fieldName) { BindingFlags bindFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static; FieldInfo field = type.GetField(fieldName, bindFlags); return field.GetValue(instance); } Pra Chamar é só : string str = GetInstanceField(typeof(SuaClasse), instancia, "NomeAtributo") as string; Espero que ajude num futuro problema parecido!

Viewing all articles
Browse latest Browse all 14700