This post originated from an RSS feed registered with .NET Buzz
by Jeff Key.
Original Post: Accessibility Domains and you
Feed Title: Jeff Key
Feed URL: http://www.asp.net/err404.htm?aspxerrorpath=/jkey/Rss.aspx
Feed Description: Topics revolve around .NET and the Windows platform.
Sometimes I forget nested type accessibility rules (can containing classes access private members of the nested types?). I recently stumbled upon a nice reference:
Included is a great little example at the bottom that serves as a nice quick reference:
In the example
public class A { public static int X; internal static int Y; private static int Z; } internal class B { public static int X; internal static int Y; private static int Z;
public class C { public static int X; internal static int Y; private static int Z; }
private class D { public static int X; internal static int Y; private static int Z; } }
the classes and members have the following accessibility domains:
The accessibility domain of A and A.X is unlimited.
The accessibility domain of A.Y, B, B.X, B.Y, B.C, B.C.X, and B.C.Y is the program text of the containing program.
The accessibility domain of A.Z is the program text of A.
The accessibility domain of B.Z and B.D is the program text of B, including the program text of B.C and B.D.
The accessibility domain of B.D.X and B.D.Y is the program text of B, including the program text of B.C and B.D.
The accessibility domain of B.D.Z is the program text of B.D.