Looking at your sample code, I see what you are trying to do. Now that we know that we have a class level access language when it comes to private members, the workaround is to create a clsPersons class. This class holds the list of people, instead of just a map (even though, internally the new class can use a map). This new class has a LogPersons methods that calls each clsPerson methods/variables. In this case, the methods/variables have to be Public, or the calls will fail (since clsPersons is not the same class as clsPerson).