Your base class can't be less accessible then your derived class.
So you can't inherit a internal class to a public class.
VALID CASE:
public class Base
{
}
internal class Derived : Base
{
}
INVALID CASE:
internal class Base
{
}
public class Derived : Base
{
}