DotNET 2.0 provides a function similar to friend classses. Using the assembly level InternalsVisibleToAttribute you can allow a particular assembly access to the non public types in your assembly . (you'll want to avoid using this attribute to frequently, but maybe we can now get rid of some of this type of documentation :)