// ScopeProjects.cs.txt // Project Scope1 (type Console Ap) // Set a Reference to Project Scope2 using System; namespace ScopeDemo { class Scope { static void Main(string[] args) { CanYouSeeMe.sInternalMethod(); CanYouSeeMe2.PublicMethod(); CanYouSeeMe CYSM = new CanYouSeeMe(); CYSM.InternalMethod(); SonOfCanYouSeeMe SoCYSM = new SonOfCanYouSeeMe(); SoCYSM.PublicMethod(); } } public class SonOfCanYouSeeMe : CanYouSeeMe { } public class CanYouSeeMe { void TestMethod() { sDefaultMethod(); sPublicMethod(); sInternalMethod(); sPrivateMethod(); } static void sDefaultMethod(){} public static void sPublicMethod(){} // solution internal static void sInternalMethod(){} //project private static void sPrivateMethod(){} // class //protected internal static void sProtectedInternalMethod(){} // current & inherited classes //protected static void sProtectedMethod(){} static void DefaultMethod(){} public void PublicMethod(){} // solution internal void InternalMethod(){} //project private void PrivateMethod(){} // class //protected internal void ProtectedInternalMethod(){} // current & inherited classes //protected void ProtectedMethod(){} } } /////////////////////////////////////////////////////////////////////// // Project Scope2 (type Class Library) using System; namespace ScopeDemo { public class CanYouSeeMe2 { static void DefaultMethod(){} public static void PublicMethod(){} internal static void InternalMethod(){} private static void PrivateMethod(){} //protected internal static void ProtectedInternalMethod(){} //protected static void ProtectedMethod(){} } }