1 //----------------------------------------------------------------
2 // <copyright company="Microsoft Corporation">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
5 //----------------------------------------------------------------
7 namespace Microsoft.Activities.Presentation.Xaml
10 using System.Collections.Generic;
14 internal class XamlTypeWithExtraPropertiesRemoved : XamlType
16 private ICollection<string> propertiesToBeRemoved;
18 public XamlTypeWithExtraPropertiesRemoved(Type underlyingType, XamlSchemaContext schemaContext, ICollection<string> propertiesToBeRemoved)
19 : base(underlyingType, schemaContext)
21 this.propertiesToBeRemoved = propertiesToBeRemoved;
24 protected override XamlMember LookupMember(string name, bool skipReadOnlyCheck)
26 if (this.propertiesToBeRemoved.Contains(name))
31 return base.LookupMember(name, skipReadOnlyCheck);
34 protected override IEnumerable<XamlMember> LookupAllMembers()
36 List<XamlMember> members = new List<XamlMember>();
38 foreach (XamlMember member in base.LookupAllMembers())
40 if (!this.propertiesToBeRemoved.Contains(member.Name))