Exemple #1
0
        /// <summary>
        /// Remove the resolvers for the given build key.
        /// </summary>
        /// <param name="policies">Policy list containing the build key.</param>
        /// <param name="buildKey">Build key.</param>
        public static void RemoveResolvers(IPolicyList policies, object buildKey)
        {
            IDependencyResolverTrackerPolicy tracker = policies.Get <IDependencyResolverTrackerPolicy>(buildKey);

            if (tracker != null)
            {
                tracker.RemoveResolvers(policies);
            }
        }
Exemple #2
0
        // Helper methods for adding and removing the tracker policy.

        /// <summary>
        /// Get an instance that implements <see cref="IDependencyResolverTrackerPolicy"/>,
        /// either the current one in the policy set or creating a new one if it doesn't
        /// exist.
        /// </summary>
        /// <param name="policies">Policy list to look up from.</param>
        /// <param name="buildKey">Build key to track.</param>
        /// <returns>The resolver tracker.</returns>
        public static IDependencyResolverTrackerPolicy GetTracker(IPolicyList policies, object buildKey)
        {
            IDependencyResolverTrackerPolicy tracker =
                policies.Get <IDependencyResolverTrackerPolicy>(buildKey);

            if (tracker == null)
            {
                tracker = new DependencyResolverTrackerPolicy();
                policies.Set <IDependencyResolverTrackerPolicy>(tracker, buildKey);
            }
            return(tracker);
        }
Exemple #3
0
        /// <summary>
        /// Remove the resolvers for the given build key.
        /// </summary>
        /// <param name="policies">Policy list containing the build key.</param>
        /// <param name="buildKey">Build key.</param>
        public static void RemoveResolvers(IPolicyList policies, object buildKey)
        {
            IDependencyResolverTrackerPolicy tracker = GetTracker(policies, buildKey);

            tracker.RemoveResolvers(policies);
        }
Exemple #4
0
        /// <summary>
        /// Add a key to be tracked to the current tracker.
        /// </summary>
        /// <param name="policies">Policy list containing the resolvers and trackers.</param>
        /// <param name="buildKey">Build key for the resolvers being tracked.</param>
        /// <param name="resolverKey">Key for the resolver.</param>
        public static void TrackKey(IPolicyList policies, object buildKey, object resolverKey)
        {
            IDependencyResolverTrackerPolicy tracker = GetTracker(policies, buildKey);

            tracker.AddResolverKey(resolverKey);
        }