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!
↧