public static bool SetData(this object o, string info, object data)
{
var field = o.GetType().GetField(info, ReflectionLibrary.INSTANCE_MEMBER_BINDING_FLAGS);
var valid = field != null && field.FieldType.IsInstanceOfType(data) && !field.IsInitOnly;
if (valid) field.SetValue(o, data);
return valid;
}