Skip to content

Instantly share code, notes, and snippets.

@Josef212
Created November 14, 2019 22:18
Show Gist options
  • Save Josef212/b33cbde87b9073d6f113848265347d58 to your computer and use it in GitHub Desktop.
Save Josef212/b33cbde87b9073d6f113848265347d58 to your computer and use it in GitHub Desktop.
using System.Reflection;
public static class ReflectionExtensions
{
public static T GetFieldValue<T>(this object obj, string fieldName)
{
BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
FieldInfo field = obj.GetType().GetField(fieldName, bindingFlags);
return (T)field?.GetValue(obj);
}
public static void SetFieldValue<T>(this object obj, string fieldName, T value)
{
BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
FieldInfo field = obj.GetType().GetField(fieldName, bindingFlags);
field?.SetValue(obj, value);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment