Of course, nothing hard:
namespace TopLayer {
using BottomLayer;
using MiddleLayer;
internal class TotallyAdHocTrash {
ApplicationFieldSpecificStuff stuff = new ApplicationFieldSpecificStuff();
static void Main() {
Application.Run();
}
}
}
namespace MiddleLayer {
using BottomLayer;
public class CoolApplicationFieldSpecificStuff {
CoolAbsolutelyUniversalSystemUtility Utility = new AbsolutelyUniversalSystemUtility();
}
}
namespace BottomLayer {
public class AbsolutelyUniversalSystemUtility {
public void AbsolutelyUniversalMethod() { }
}
}
If this is not enough, add some more layers. :-)
If this does not seem not informative enough, look at your own question. And finally try to realize:
nobody needs layers without the purpose.
—SA