//TIP 2:This class is NOT in same class 'Base' but in the same assembly so only protected is NOT accessible rest all are accessible. public void fn_Base_Sibling() { PublicBase.fn_PublicBase(); //PrivateBase.fn_PrivateBase(); //ERROR:Accesibility of 'protected' ProtectedBase.fn_ProtectedBase(); //protected is accessible because Base_Sibling inherit class 'Base'. you can not access it via Base.ProtectedBase InternalBase.fn_InternalBase(); ProInternalBase.fn_ProInternalBase(); }
public static void fn_Base_Inside() { //All methods are easily accessible.Does not consider a modified indeed. PublicBase.fn_PublicBase(); PrivateBase.fn_PrivateBase(); ProtectedBase.fn_ProtectedBase(); InternalBase.fn_InternalBase(); ProInternalBase.fn_ProInternalBase(); }