Thinktecture.Tools.Web.Services.CodeGeneration.ExtendedCodeDomTree.ExtendTypeMembers C# (CSharp) Method

ExtendTypeMembers() private static method

This methods adds CodeTypeMemberExtension to all CodeTypeMembers in a given type.
private static ExtendTypeMembers ( CodeTypeExtension typeExtension ) : void
typeExtension CodeTypeExtension
return void
        private static void ExtendTypeMembers(CodeTypeExtension typeExtension)
        {
            CodeTypeDeclaration type = (CodeTypeDeclaration)typeExtension.ExtendedObject;

            for (int i = 0; i < type.Members.Count; i++)
            {
                CodeTypeMember member = type.Members[i];
                CodeTypeMemberExtension memberExtension = new CodeTypeMemberExtension(member, typeExtension);

                // Add the member to the correct filtered collection.
                if (memberExtension.Kind == CodeTypeMemberKind.Field)
                {
                    typeExtension.Fields.Add(memberExtension);
                }
                else if (memberExtension.Kind == CodeTypeMemberKind.Property)
                {
                    typeExtension.Properties.Add(memberExtension);
                }
                else if (memberExtension.Kind == CodeTypeMemberKind.Method)
                {
                    typeExtension.Methods.Add(memberExtension);
                }
                else if (memberExtension.Kind == CodeTypeMemberKind.Constructor ||
                    memberExtension.Kind == CodeTypeMemberKind.StaticConstructor)
                {
                    typeExtension.Constructors.Add(memberExtension);
                }
                else if (memberExtension.Kind == CodeTypeMemberKind.Event)
                {
                    typeExtension.Events.Add(memberExtension);
                }
                else
                {
                    typeExtension.Unknown.Add(memberExtension);
                }

                // Finally update the collection item reference.
                type.Members[i] = memberExtension;
            }
        }