static internal bool IsDefined(Assembly assembly, Type caType)
        {
            if (assembly == null)
            {
                throw new ArgumentNullException("assembly");
            }

            int token = CustomAttribute.GetAssemblyToken(assembly);

            if (token != 0)
            {
                IntPtr module = CustomAttribute.GetAssemblyModule(assembly);
                return(CustomAttribute.IsCADefinedCheckType(caType, module, token));
            }
            return(false);
        }
        static internal Object[] GetCustomAttributes(Assembly assembly, Type caType)
        {
            if (assembly == null)
            {
                throw new ArgumentNullException("assembly");
            }

            int token = CustomAttribute.GetAssemblyToken(assembly);

            if (token != 0)
            {
                IntPtr          module = CustomAttribute.GetAssemblyModule(assembly);
                CustomAttribute caItem = CustomAttribute.GetCustomAttributeListCheckType(token, module, caType, null, 0);
                return(CustomAttribute.CheckConsistencyAndCreateArray(caItem, caType));
            }
            return((caType == null || caType.IsValueType) ? s_gObjectEmptyArray : (Object[])Array.CreateInstance(caType, 0));
        }