I read several topics, Googled many sites, read dozen of definitions about "internal" access modifier. But still confusing. I could not find exact definition of assembly.
Let's assume in Visual Studio I have Solution, in which I have Two projects -
ProjectA (NameSpaceA), ProjectB (NameSpaceB).
ProjectA has references of ProjectB.
Each project has 2 class (.cs) files
- ProjectA (ClassA1.cs, ClassA2.cs)
- ProjectB (ClassB1.cs, ClassB2.cs)
in ClassA1.cs file I have two classes: A1ClassOne, A1ClassTwo. In all other .cs files only one class per file.
Each class in Solution is separate class (there is no derived classes)
Question: If in A1ClassOne I have method with access modifier "internal", then from which classes it will be accessible? What is meant by assembly in above solution example? Whole solution? Or each project is different assembly (two assemblies in solution)? Or each class (.cs) file? What if there are several classes in one .cs file?
In other words I need solution-wise explanation of assembly.