예제 #1
0
        public Container VisitContainer(Container container)
        {
            var idx = 0;
            var photoSets = new PhotoSet[container.PhotoSets.Count()];

            foreach (var visitor in Visitors)
            {
                container = visitor.VisitContainerBefore(container);
            }

            foreach (var photoSet in container.PhotoSets)
            {
                photoSets[idx++] = VisitPhotoSet(photoSet);
            }

            container = container.WithPhotoSets(photoSets);

            foreach (var visitor in Visitors)
            {
                container = visitor.VisitContainerAfter(container);
            }

            return container;
        }