I ran into a problem that I need to access to private field of a class. For example:
class MyClass
{
private string someString;
public MyClass( stri
Here is a working generics version as clean as I can get it.
private static object GetInstanceField(T instance, string fieldName)
{
BindingFlags bindFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static;
FieldInfo field = typeof(T).GetField(fieldName, bindFlags);
return field.GetValue(instance);
}
usage
var str = (string)GetInstanceField(instance, "someString");