For example:
internal class C
{
public void M()
{
Console.WriteLine("foo");
}
}
To me, that reads "a method that can be accessed by anyone, regardless of assembly living inside a class that can only be accessed from code in the same assembly".
My experience with the compiler tells me that if I do something like that and do not get a warning, there is probably a valid reason to have it.
So, I suppose either
- Something is lacking in my understanding of protection levels.
- There could be a warning but there isn't one.
(if 2, this is not an attempt to complain about it - I just want to understand)