/// <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); }
/// <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); }