コード例 #1
0
        /// <summary>
        /// Creates a new object that is a copy of the current instance.
        /// </summary>
        /// <param name="deep"><b>true</b> if a deep copy should be performed, otherwise <b>false</b> to perform a shallow copy.</param>
        /// <returns>The <see cref="NameValueCollection"/> cloned instance.</returns>
        public object Clone(bool deep)
        {
            PolicyExclusionConfigInfo clone = new PolicyExclusionConfigInfo();

            clone.ExclusionType = this.ExclusionType;
            clone.Configuration = this.Configuration.Clone(deep);

            return(clone);
        }
コード例 #2
0
        /// <summary>
        /// Create a new policy exclusion.
        /// </summary>
        /// <param name="config">The <see cref="PolicyExclusionConfigInfo"/> containing exclusion configuration information.</param>
        /// <returns>A new <see cref="PolicyExclusion"/> object if the exclusion type was available, otherwise a null reference (<b>Nothing</b> in Visual Basic).</returns>
        public PolicyExclusion Create(PolicyExclusionConfigInfo config)
        {
            PolicyExclusion exclusion = null;

            Type exclusionType = exclusionTypeCache[config.ExclusionType];

            if (exclusionType != null)
            {
                exclusion = (PolicyExclusion)Activator.CreateInstance(exclusionType);
                if (exclusion != null)
                {
                    exclusion.Initialize(config.Configuration);
                }
            }

            return(exclusion);
        }