private void Check_Members() { lock (this.SyncObject) if (this._members == null) { this._members = new IntermediateFullMemberDictionary(); } }
public override void Dispose() { try { lock (this.SyncObject) { if (this.metadata != null) { this.metadata.Dispose(); this.metadata = null; } if (this.constraints != null) { this.constraints.Clear(); this.constraints = null; } if (this._constraints != null) { this._constraints.Dispose(); this._constraints = null; } if (this.constructors != null) { this.constructors.Dispose(); this.constructors = null; } if (this.events != null) { this.events.Dispose(); this.events = null; } if (this.indexers != null) { this.indexers.Dispose(); this.indexers = null; } if (this.methods != null) { this.methods.Dispose(); this.methods = null; } if (this.properties != null) { this.properties.Dispose(); this.properties = null; } if (this._members != null) { this._members.Dispose(); this._members = null; } } } finally { base.Dispose(); } }
/// <summary> /// Creates a new <see cref="IntermediateEventSignatureMemberDictionary{TEvent, TIntermediateEvent, TEventParameter, TIntermediateEventParameter, TEventParent, TIntermediateEventParent}"/> with the /// <paramref name="master"/>, <paramref name="parent"/> and <paramref name="items"/> provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> /// which contains the current instance's members as well as those of other <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/> /// instances of varying types.</param> /// <param name="parent">The <typeparamref name="TIntermediateEventParent"/> /// which contains the <see cref="IntermediateEventSignatureMemberDictionary{TEvent, TIntermediateEvent, TEventParent, TIntermediateEventParent}"/>.</param> /// <param name="items">The <see cref="Dictionary{TKey, TValue}"/> /// which the <see cref="IntermediateEventSignatureMemberDictionary{TEvent, TIntermediateEvent, TEventParent, TIntermediateEventParent}"/> wraps.</param> public IntermediateEventSignatureMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateEventParent parent, IntermediateEventSignatureMemberDictionary <TEvent, TIntermediateEvent, TEventParent, TIntermediateEventParent> items) : base(master, parent, items) { }
/// <summary> /// Creates a new <see cref="IntermediateEventSignatureMemberDictionary{TEvent, TIntermediateEvent, TEventParent, TIntermediateEventParent}"/> /// with the <paramref name="master"/> and <paramref name="parent"/> provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> /// which contains the current instance's members as well as those of other <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/> /// instances of varying types.</param> /// <param name="parent">The <typeparamref name="TIntermediateEventParent"/> /// which contains the <see cref="IntermediateEventSignatureMemberDictionary{TEvent, TIntermediateEvent, TEventParent, TIntermediateEventParent}"/>.</param> public IntermediateEventSignatureMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateEventParent parent) : base(master, parent) { }
/// <summary> /// Creates a new <see cref="IntermediateGroupedSignatureMemberDictionary{TSignatureIdentifier, TSignature, TIntermediateSignature, TSignatureParameter, TIntermediateSignatureParameter, TSignatureParent, TIntermediateSignatureParent}"/> with the /// <paramref name="master"/>, <paramref name="parent"/> and <paramref name="root"/> provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> /// which contains the current instance's members as well as those of other <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/> /// instances of varying types.</param> /// <param name="parent">The <typeparamref name="TIntermediateType"/> /// which contains the <see cref="IntermediateConstructorMemberDictionary{TCtor, TIntermediateCtor, TType, TIntermediateType}"/>.</param> /// <param name="root">The <see cref="IntermediateConstructorMemberDictionary{TCtor, TIntermediateCtor, TType, TIntermediateType}"/> /// which the current is based upon.</param> protected IntermediateConstructorMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateType parent, IntermediateConstructorMemberDictionary <TCtor, TIntermediateCtor, TType, TIntermediateType> root) : base(master, parent, root) { }
/// <summary> /// Creates a new <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/> with the /// <paramref name="master"/> and <paramref name="parent"/> provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> /// which contains the current instance's members as well as those of other <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/> /// instances of varying types.</param> /// <param name="parent">The <typeparamref name="TIntermediateMemberParent"/> /// which contains the <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/>.</param> public IntermediateGroupedMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateMemberParent parent) : base(master) { this.Parent = parent; }
/// <summary> /// Creates a new <see cref="MethodMemberDictionary"/> with the /// <paramref name="master"/> and <paramref name="parent"/> /// provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> /// which contains the other members of the <typeparamref name="TIntermediateGenericParameter"/>.</param> /// <param name="parent">The parent which contains the <see cref="MethodMemberDictionary"/>.</param> public MethodMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateGenericParameter parent) : base(master, parent, parent.IdentityManager) { }
/// <summary> /// Creates a new <see cref="IntermediateGroupedSignatureMemberDictionary{TSignatureIdentifier, TSignature, TIntermediateSignature, TSignatureParameter, TIntermediateSignatureParameter, TSignatureParent, TIntermediateSignatureParent}"/> with the /// <paramref name="master"/> and <paramref name="parent"/> provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> /// which contains the current instance's members as well as those of other <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/> /// instances of varying types.</param> /// <param name="parent">The <typeparamref name="TIntermediateSignatureParent"/> /// which contains the <see cref="IntermediateGroupedSignatureMemberDictionary{TSignatureIdentifier, TSignature, TIntermediateSignature, TSignatureParameter, TIntermediateSignatureParameter, TSignatureParent, TIntermediateSignatureParent}"/>.</param> public IntermediateGroupedSignatureMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateSignatureParent parent) : base(master, parent) { }
protected IntermediateGroupedMethodSignatureMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateSignatureParent parent, ITypeIdentityManager identityManager) : base(master, parent) { this.identityManager = identityManager; }
protected IntermediateMethodSignatureMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateSignatureParent parent, IntermediateMethodSignatureMemberDictionary <TSignature, TIntermediateSignature, TSignatureParent, TIntermediateSignatureParent> root) : base(master, parent, root) { }
protected IntermediateMethodSignatureMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateSignatureParent parent, ITypeIdentityManager identityManager) : base(master, parent, identityManager) { }
/// <summary> /// Creates a new <see cref="IntermediateEventMemberDictionary{TEvent, TIntermediateEvent, TEventParent, TIntermediateEventParent}"/> with the /// <paramref name="master"/>, <paramref name="parent"/> and <paramref name="root"/> provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> /// which contains the current instance's members as well as those of other <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/> /// instances of varying types.</param> /// <param name="parent">The <typeparamref name="TIntermediateEventParent"/> /// which contains the <see cref="IntermediateEventMemberDictionary{TEvent, TIntermediateEvent, TEventParent, TIntermediateEventParent}"/>.</param> /// <param name="root">The <see cref="Dictionary{TKey, TValue}"/> /// which the <see cref="IntermediateEventMemberDictionary{TEvent, TIntermediateEvent, TEventParent, TIntermediateEventParent}"/> wraps.</param> public IntermediateEventMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateEventParent parent, IntermediateEventMemberDictionary <TEvent, TIntermediateEvent, TEventParent, TIntermediateEventParent> root) : base(master, parent, root) { }
public IntermediateFieldMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateFieldParent parent, IntermediateFieldMemberDictionary <TField, TIntermediateField, TFieldParent, TIntermediateFieldParent> sibling) : base(master, parent, sibling) { }
/// <summary> /// Creates a new <see cref="IntermediateFieldMemberDictionary{TField, TIntermediateField, TFieldParent, TIntermediateFieldParent}"/> /// with the <paramref name="master"/> and <paramref name="parent"/> provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> which groups the /// elements of the <see cref="IntermediateFieldMemberDictionary{TField, TIntermediateField, TFieldParent, TIntermediateFieldParent}"/> /// with the <paramref name="parent"/>s other members.</param> /// <param name="parent">The <typeparamref name="TIntermediateFieldParent"/> which contains the /// <see cref="IntermediateFieldMemberDictionary{TField, TIntermediateField, TFieldParent, TIntermediateFieldParent}"/></param> /// <exception cref="System.ArgumentNullException">thrown when <paramref name="master"/> is null; or /// when <paramref name="parent"/> is null.</exception> public IntermediateFieldMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateFieldParent parent) : base(master, parent) { }
/// <summary> /// Creates a new <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/> with the /// <paramref name="master"/>, <paramref name="parent"/>, and <paramref name="root"/> provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> /// which contains the current instance's members as well as those of other <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/> /// instances of varying types.</param> /// <param name="parent">The <typeparamref name="TIntermediateMemberParent"/> /// which contains the <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/>.</param> /// <param name="root">The root <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/> /// which the current is based upon.</param> public IntermediateGroupedMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateMemberParent parent, IntermediateGroupedMemberDictionary <TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember> root) : base(master, root) { this.Parent = parent; }
/// <summary> /// Creates a new <see cref="IntermediateIndexerMemberDictionary{TIndexer, TIntermediateIndexer, TIndexerParent, TIntermediateIndexerParent}"/> with the /// <paramref name="master"/>, <paramref name="parent"/> and <paramref name="root"/> provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> /// which contains the current instance's members as well as those of other <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/> /// instances of varying types.</param> /// <param name="parent">The <typeparamref name="TIntermediateIndexerParent"/> /// which contains the <see cref="IntermediateIndexerMemberDictionary{TIndexer, TIntermediateIndexer, TIndexerParent, TIntermediateIndexerParent}"/>.</param> /// <param name="root">The <see cref="IntermediateIndexerMemberDictionary{TIndexer, TIntermediateIndexer, TIndexerParent, TIntermediateIndexerParent}"/> /// which the is based upon.</param> public IntermediateIndexerMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateIndexerParent parent, IntermediateIndexerMemberDictionary <TIndexer, TIntermediateIndexer, TIndexerParent, TIntermediateIndexerParent> root) : base(master, parent, root) { }
/// <summary> /// Creates a new <see cref="IntermediatePropertyMemberDictionary{TProperty, TIntermediateProperty, TPropertyParent, TIntermediatePropertyParent}"/> /// instance with the <paramref name="master"/>, <paramref name="parent"/> and /// <paramref name="root"/> provided. /// provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> /// which contains the <paramref name="parent"/>'s full set of members.</param> /// <param name="parent">The <typeparamref name="TIntermediatePropertyParent"/> /// which contains the <see cref="IntermediatePropertyMemberDictionary{TProperty, TIntermediateProperty, TPropertyParent, TIntermediatePropertyParent}"/>.</param> /// <param name="root">The root <see cref="IntermediatePropertyMemberDictionary{TProperty, TIntermediateProperty, TPropertyParent, TIntermediatePropertyParent}"/> /// instance which shares a common set of elements with a different partial /// instance of the <paramref name="parent"/>.</param> internal protected IntermediatePropertyMemberDictionary(IntermediateFullMemberDictionary master, TIntermediatePropertyParent parent, IntermediatePropertyMemberDictionary <TProperty, TIntermediateProperty, TPropertyParent, TIntermediatePropertyParent> root) : base(master, parent, root) { }
protected IntermediateGroupedMethodSignatureMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateSignatureParent parent, IntermediateGroupedMethodSignatureMemberDictionary <TSignatureParameter, TIntermediateSignatureParameter, TSignature, TIntermediateSignature, TSignatureParent, TIntermediateSignatureParent> root) : base(master, parent, root) { this.identityManager = root.identityManager; }
/// <summary> /// Initializes a <see cref="IntermediateFullMemberDictionary"/> to its default state. /// </summary> /// <param name="target">The <see cref="IDictionary{TKey, TValue}"/> which contains the target /// dictonary the <see cref="IntermediateFullMemberDictionary"/> /// encapsulates</param> public IntermediateFullMemberDictionary(IntermediateFullMemberDictionary target) : base(target) { }
/// <summary> /// Creates a new <see cref="IntermediatePropertySignatureMemberDictionary{TProperty, TIntermediateProperty, TPropertyParent, TIntermediatePropertyParent}"/> /// instance with the <paramref name="master"/> and <paramref name="parent"/> /// provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> /// which contains the <paramref name="parent"/>'s full set of members.</param> /// <param name="parent">The <typeparamref name="TIntermediatePropertyParent"/> /// which contains the <see cref="IntermediatePropertySignatureMemberDictionary{TProperty, TIntermediateProperty, TPropertyParent, TIntermediatePropertyParent}"/>.</param> protected IntermediatePropertySignatureMemberDictionary(IntermediateFullMemberDictionary master, TIntermediatePropertyParent parent) : base(master, parent) { }
/// <summary> /// Creates a new <see cref="IntermediateGroupedSignatureMemberDictionary{TSignatureIdentifier, TSignature, TIntermediateSignature, TSignatureParameter, TIntermediateSignatureParameter, TSignatureParent, TIntermediateSignatureParent}"/> with the /// <paramref name="master"/>, <paramref name="parent"/> and <paramref name="root"/> provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> /// which contains the current instance's members as well as those of other <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/> /// instances of varying types.</param> /// <param name="parent">The <typeparamref name="TIntermediateSignatureParent"/> /// which contains the <see cref="IntermediateGroupedSignatureMemberDictionary{TSignatureIdentifier, TSignature, TIntermediateSignature, TSignatureParameter, TIntermediateSignatureParameter, TSignatureParent, TIntermediateSignatureParent}"/>.</param> /// <param name="root">The <see cref="IntermediateGroupedSignatureMemberDictionary{TSignatureIdentifier, TSignature, TIntermediateSignature, TSignatureParameter, TIntermediateSignatureParameter, TSignatureParent, TIntermediateSignatureParent}"/> /// which the current is based upon.</param> public IntermediateGroupedSignatureMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateSignatureParent parent, IntermediateGroupedSignatureMemberDictionary <TSignatureIdentifier, TSignature, TIntermediateSignature, TSignatureParameter, TIntermediateSignatureParameter, TSignatureParent, TIntermediateSignatureParent> root) : base(master, parent, root) { }
/// <summary> /// Creates a new <see cref="IntermediateConstructorMemberDictionary{TCtor, TIntermediateCtor, TType, TIntermediateType}"/> /// with the <paramref name="master"/> and <paramref name="parent"/> provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> /// which contains the current instance's members as well as those of other <see cref="IntermediateGroupedMemberDictionary{TMemberParent, TIntermediateMemberParent, TMemberIdentifier, TMember, TIntermediateMember}"/> /// instances of varying types.</param> /// <param name="parent">The <typeparamref name="TIntermediateType"/> /// which contains the <see cref="IntermediateConstructorMemberDictionary{TCtor, TIntermediateCtor, TType, TIntermediateType}"/>.</param> protected IntermediateConstructorMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateType parent) : base(master, parent) { }
/// <summary> /// Creates a new <see cref="EventMemberDictionary"/> with the /// <paramref name="master"/> and <paramref name="parent"/> /// provided. /// </summary> /// <param name="master">The <see cref="IntermediateFullMemberDictionary"/> /// which contains the other members of the <typeparamref name="TIntermediateGenericParameter"/>.</param> /// <param name="parent">The parent which contains the <see cref="EventMemberDictionary"/>.</param> public EventMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateGenericParameter parent) : base(master, parent) { }
protected IntermediateMethodMemberDictionary(IntermediateFullMemberDictionary master, TIntermediateMethodParent parent, IntermediateMethodMemberDictionary <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent> root) : base(master, parent, root) { }