Ejemplo n.º 1
0
        public virtual void Activate(IReferenceActivationContext context)
        {
            object collection = context.PersistentObject();
            ICollectionInitializer initializer = CollectionInitializer.For(collection);

            initializer.Clear();

            ReadElements(context, initializer, ReadElementTypeHandler(context, context));

            initializer.FinishAdding();
        }
        public static void CopyCollectionState(object original, object destination, ICounterpartFinder counterpartFinder)
        {
            IEnumerable            originalCollection    = (IEnumerable )original;
            ICollectionInitializer destinationCollection = CollectionInitializer.For(destination);

            destinationCollection.Clear();

            foreach (object element in originalCollection)
            {
                object counterpart = counterpartFinder.FindCounterpart(element);
                destinationCollection.Add(counterpart);
            }
        }