public static bool Assign(this object o, string info, object data)
{
var property = o.GetType().GetProperty(info, ReflectionLibrary.INSTANCE_MEMBER_BINDING_FLAGS);
var valid = property != null && property.CanWrite && property.PropertyType.IsInstanceOfType(data);
if (valid) property.SetValue(o, data);
return valid;
}