/// <summary>
 /// Checks if the specified type declares a given attribute
 /// </summary>
 /// <param name="toCheck">The type to check</param>
 /// <param name="attribute">the attribute type to check for</param>
 /// <returns>Whether or not the attribute is declared on the type</returns>
 public static bool HasAttribute(MemberInfo toCheck, Type attribute)
 {
     return(TypeCache.HasAttribute(toCheck, attribute));
 }
 /// <summary>
 /// Gets the properties of the type
 /// </summary>
 /// <param name="t">The type to get the properies of</param>
 /// <returns>All of the properties. All of them.</returns>
 public static PropertyInfo[] GetProperties(Type t)
 {
     return(TypeCache.GetProperties(t));
 }