Example #1
0
        public void VisitBeforeEmit(UmlDiagram diagram)
        {
            var typesToAdd = new List <Type>();

            foreach (var diagClass in diagram.GetEntities())
            {
                foreach (var mem in diagClass.Members)
                {
                    switch (mem)
                    {
                    case MethodUmlMember methodUmlMember:
                        var types1 = ProcessMethod(diagram, diagClass, methodUmlMember);
                        typesToAdd.AddRange(types1);
                        break;

                    case PropertyUmlMember propertyUmlMember:
                        var types2 = ProcessProperty(diagram, diagClass, propertyUmlMember);
                        typesToAdd.AddRange(types2);
                        break;
                    }
                }
            }

            foreach (var i in typesToAdd)
            {
                diagram.UpdateTypeInfo(i, null);
            }
        }
        public void Visit(UmlDiagram diagram, UmlEntity info)
        {
            var members = info.Type.GetMembers(MyBindingFlags);

            foreach (var memberInfo in members)
            {
                var typeExInfo = GetTi(memberInfo);
                if (typeExInfo != null)
                {
                    diagram.UpdateTypeInfo(typeExInfo.ElementType, null);
                }
            }
        }