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); } } }