public static bool Retrieve<T>(this Type type, string info, out T data)
{
var property = type.GetProperty(info, ReflectionLibrary.STATIC_MEMBER_BINDING_FLAGS);
var valid = property != null && property.CanRead && typeof(T).IsAssignableFrom(property.PropertyType);
data = valid ? (T) property.GetValue(null) : default;
return valid;
}