public static FieldInfo GetFieldInfo(object target, string name)
{
if (null == target)
{
throw new ArgumentNullException("target");
}
FieldInfo fi = target.GetType().GetField(name, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
if (null == fi)
{
throw new ApplicationException(string.Format("Field {0} not found in type {1}!", name, target.GetType()));
}
return fi;
}