I have an internal class A
that does a lot of stuff and I have a set of other classes B
, D
, E
that inherit from class A
. Of course this won't work as the compiler will complain about a public class not being able to extend an internal one (see this for an explanation).
I don't want A
to be public as I don't want my users to inherit from it. I want them to only use B
, D
, E
.
I know I can hide the class from Intellisense using [EditorBrowsable(EditorBrowsableState.Never)]
but the users can still access it using reflection :(
Is there a way I can achieve this?