Beispiel #1
0
        internal void AddToTypesXmlCache(T member, bool preValidated)
        {
            if (member == null)
            {
                throw PSTraceSource.NewArgumentNullException("member");
            }
            if (!preValidated && PSMemberInfoCollection <T> .IsReservedName(member.Name))
            {
                throw new ExtendedTypeSystemException("PSObjectMembersMembersAddReservedName", null, ExtendedTypeSystem.ReservedMemberName, new object[] { member.Name });
            }
            PSMemberInfo info = member.Copy();

            if (this.mshOwner != null)
            {
                if (!preValidated)
                {
                    TypeTable typeTable = this.mshOwner.GetTypeTable();
                    if ((typeTable != null) && (typeTable.GetMembers <T>(this.mshOwner.InternalTypeNames)[member.Name] != null))
                    {
                        throw new ExtendedTypeSystemException("AlreadyPresentInTypesXml", null, ExtendedTypeSystem.MemberAlreadyPresentFromTypesXml, new object[] { member.Name });
                    }
                }
                info.ReplicateInstance(this.mshOwner);
                this.mshOwner.InstanceMembers.Add(info, preValidated);
                PSGetMemberBinder.SetHasInstanceMember(info.Name);
                PSVariableAssignmentBinder.NoteTypeHasInstanceMemberOrTypeName(PSObject.Base(this.mshOwner).GetType());
            }
            else
            {
                this.memberSetOwner.InternalMembers.Add(info, preValidated);
            }
        }
 public override void Remove(string name)
 {
     if (string.IsNullOrEmpty(name))
     {
         throw PSMemberInfoIntegratingCollection <T> .tracer.NewArgumentException(nameof (name));
     }
     if (this.mshOwner != null)
     {
         this.mshOwner.InstanceMembers.Remove(name);
     }
     else
     {
         if (!this.memberSetOwner.IsInstance)
         {
             throw new ExtendedTypeSystemException("AddMemberToStaticMemberSet", (Exception)null, "ExtendedTypeSystem", "ChangeStaticMember", new object[1]
             {
                 (object)name
             });
         }
         if (PSMemberInfoCollection <T> .IsReservedName(this.memberSetOwner.Name))
         {
             throw new ExtendedTypeSystemException("CannotRemoveFromReservedNameMemberset", (Exception)null, "ExtendedTypeSystem", "CannotChangeReservedMember", new object[1]
             {
                 (object)this.memberSetOwner.Name
             });
         }
         this.memberSetOwner.InternalMembers.Remove(name);
     }
 }
        public override void Remove(string name)
        {
            object obj = !string.IsNullOrEmpty(name) ? this.hashedMembers[(object)name] : throw PSMemberInfoInternalCollection <T> .tracer.NewArgumentException(nameof (name));

            if (obj == null)
            {
                return;
            }
            if (PSMemberInfoCollection <T> .IsReservedName(name))
            {
                throw new ExtendedTypeSystemException("PSMemberInfoInternalCollectionRemoveReservedName", (Exception)null, "ExtendedTypeSystem", "ReservedMemberName", new object[1]
                {
                    (object)name
                });
            }
            int index1 = ((int?)obj).Value;

            if (this.members[index1].IsHidden)
            {
                --this.countHidden;
            }
            this.members.RemoveAt(index1);
            for (int index2 = index1; index2 < this.members.Count; ++index2)
            {
                int?hashedMember = (int?)this.hashedMembers[(object)this.members[index2].Name];
                this.hashedMembers[(object)this.members[index2].Name] = (object)new int?(hashedMember.Value - 1);
            }
            this.hashedMembers.Remove((object)name);
        }
Beispiel #4
0
 public override void Remove(string name)
 {
     if (string.IsNullOrEmpty(name))
     {
         throw PSTraceSource.NewArgumentException("name");
     }
     if (this.mshOwner != null)
     {
         this.mshOwner.InstanceMembers.Remove(name);
     }
     else
     {
         if (!this.memberSetOwner.IsInstance)
         {
             throw new ExtendedTypeSystemException("AddMemberToStaticMemberSet", null, ExtendedTypeSystem.ChangeStaticMember, new object[] { name });
         }
         if (PSMemberInfoCollection <T> .IsReservedName(this.memberSetOwner.Name))
         {
             throw new ExtendedTypeSystemException("CannotRemoveFromReservedNameMemberset", null, ExtendedTypeSystem.CannotChangeReservedMember, new object[] { this.memberSetOwner.Name });
         }
         this.memberSetOwner.InternalMembers.Remove(name);
     }
 }
 public override void Remove(string name)
 {
     if (string.IsNullOrEmpty(name))
     {
         throw PSTraceSource.NewArgumentException("name");
     }
     if (PSMemberInfoCollection <T> .IsReservedName(name))
     {
         throw new ExtendedTypeSystemException("PSMemberInfoInternalCollectionRemoveReservedName", null, ExtendedTypeSystem.ReservedMemberName, new object[] { name });
     }
     lock (this.members)
     {
         PSMemberInfo info = this.members[name] as PSMemberInfo;
         if (info != null)
         {
             if (info.IsHidden)
             {
                 this.countHidden--;
             }
             this.members.Remove(name);
         }
     }
 }
        internal void AddToTypesXmlCache(T member, bool preValidated)
        {
            if ((object)member == null)
            {
                throw PSMemberInfoIntegratingCollection <T> .tracer.NewArgumentNullException(nameof (member));
            }
            if (!preValidated && PSMemberInfoCollection <T> .IsReservedName(member.Name))
            {
                throw new ExtendedTypeSystemException("PSObjectMembersMembersAddReservedName", (Exception)null, "ExtendedTypeSystem", "ReservedMemberName", new object[1]
                {
                    (object)member.Name
                });
            }
            PSMemberInfo member1 = member.Copy();

            if (this.mshOwner != null)
            {
                if (!preValidated)
                {
                    TypeTable typeTable = this.mshOwner.GetTypeTable();
                    if (typeTable != null && (object)typeTable.GetMembers <T>(this.mshOwner.InternalTypeNames)[member.Name] != null)
                    {
                        throw new ExtendedTypeSystemException("AlreadyPresentInTypesXml", (Exception)null, "ExtendedTypeSystem", "MemberAlreadyPresentFromTypesXml", new object[1]
                        {
                            (object)member.Name
                        });
                    }
                }
                member1.ReplicateInstance(this.mshOwner);
                this.mshOwner.InstanceMembers.Add(member1, preValidated);
            }
            else
            {
                this.memberSetOwner.InternalMembers.Add(member1, preValidated);
            }
        }