There are cases when it makes sense to make members of classes internal
. One example could be if you want to control how the classes are instantiated; let's say you provide some sort of factory for creating instances of the class. You can make the constructor internal
, so that the factory (that resides in the same assembly) can create instances of the class, but code outside of that assembly can't.
However, I can't see any point with making classes or members internal
without specific reasons, just as little as it makes sense to make them public
, or private
without specific reasons.