'<typename>' cannot inherit from <type> '<basetypename>' because it expands the access of the base <type> outside the assembly

A class or interface inherits from a base class or interface but has a less restrictive access level.

For example, a Public interface inherits from a Friend interface, or a Protected class inherits from a Private class. This exposes the base class or interface to access beyond the intended level.

Error ID: BC30910

To correct this error

  • Change the access level of the derived class or interface to be at least as restrictive as that of the base class or interface.


  • If you require the less restrictive access level, remove the Inherits statement. You cannot inherit from a more restricted base class or interface.

See Also

Class Statement
Interface Statement
Inherits Statement
Access levels in Visual Basic