/// <summary> /// Initializes a new instance of the <see cref="MemberSettings"/> class. /// </summary> /// <param name="ignoredMembers">A collection of members to ignore. Can be null.</param> /// <param name="ignoredTypes">A collection of types to ignore. Can be null.</param> /// <param name="immutableTypes">A collection of types to treat as immutable. Can be null.</param> /// <param name="comparers">A map of types with custom comparers. Can be null.</param> /// <param name="copyers">A map of custom copy implementations for types. Can be null.</param> /// <param name="referenceHandling">How reference values are handled.</param> /// <param name="bindingFlags">The bindingflags used for getting members.</param> protected MemberSettings( IEnumerable <MemberInfo> ignoredMembers, IEnumerable <Type> ignoredTypes, IEnumerable <Type> immutableTypes, IReadOnlyDictionary <Type, CastingComparer> comparers, IReadOnlyDictionary <Type, CustomCopy> copyers, ReferenceHandling referenceHandling, BindingFlags bindingFlags) { this.ReferenceHandling = referenceHandling; this.BindingFlags = bindingFlags; if (ignoredMembers != null) { foreach (var ignoredMember in ignoredMembers) { this.ignoredMembers.TryAdd(ignoredMember, true); } } this.ignoredTypes = IgnoredTypes.Create(ignoredTypes); this.immutableTypes = ImmutableSet <Type> .Create(immutableTypes); this.comparers = comparers; this.copyers = copyers; }
/// <summary> /// Initializes a new instance of the <see cref="MemberSettings"/> class. /// </summary> /// <param name="ignoredMembers">A collection of members to ignore. Can be null.</param> /// <param name="ignoredTypes">A collection of types to ignore. Can be null.</param> /// <param name="immutableTypes">A collection of types to treat as immutable. Can be null.</param> /// <param name="comparers">A map of types with custom comparers. Can be null.</param> /// <param name="copyers">A map of custom copy implementations for types. Can be null.</param> /// <param name="referenceHandling">How reference values are handled.</param> /// <param name="bindingFlags">The bindingflags used for getting members.</param> protected MemberSettings( IEnumerable<MemberInfo> ignoredMembers, IEnumerable<Type> ignoredTypes, IEnumerable<Type> immutableTypes, IReadOnlyDictionary<Type, CastingComparer> comparers, IReadOnlyDictionary<Type, CustomCopy> copyers, ReferenceHandling referenceHandling, BindingFlags bindingFlags) { this.ReferenceHandling = referenceHandling; this.BindingFlags = bindingFlags; if (ignoredMembers != null) { foreach (var ignoredMember in ignoredMembers) { this.ignoredMembers.TryAdd(ignoredMember, true); } } this.ignoredTypes = IgnoredTypes.Create(ignoredTypes); this.immutableTypes = ImmutableSet<Type>.Create(immutableTypes); this.comparers = comparers; this.copyers = copyers; }