Beispiel #1
0
        private static UMLMethodCollection GetMethods(Type type)
        {
            UMLMethodCollection methods = new UMLMethodCollection();

            foreach (MethodInfo methodInfo in type.GetMethods(BindingFlags.Public | BindingFlags.DeclaredOnly | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance))
            {
                if (methodInfo.DeclaringType == type && !methodInfo.IsSpecialName)
                {
                    UMLMethod method = new UMLMethod();
                    method.Name = methodInfo.Name;

                    XmlNode node = DocsByReflection.XMLFromMember(methodInfo);
                    if (node != null)
                    {
                        method.Documentation = node.InnerXml.Trim();
                        //method.Documentation = DocsByReflection.XMLFromMember(methodInfo).ToString();
                    }
                    if (methodInfo.IsPublic)
                    {
                        method.Visibility = Visibility.Public;
                    }
                    if (methodInfo.IsPrivate)
                    {
                        method.Visibility = Visibility.Private;
                    }
                    if (methodInfo.IsFamily)
                    {
                        method.Visibility = Visibility.Protected;
                    }

                    if (methodInfo.IsGenericMethod)
                    {
                    }

                    ParameterInfo returned = methodInfo.ReturnParameter;
                    if (!returned.ParameterType.Name.Equals("Void"))
                    {
                        UMLParameter p = new UMLParameter();
                        p.Name      = "return";
                        p.Type      = returned.ParameterType.Name;
                        p.Direction = Direction.RETURN;
                        method.Parameters.Add(p);
                    }

                    foreach (ParameterInfo parameter in methodInfo.GetParameters())
                    {
                        UMLParameter p = new UMLParameter();
                        p.Name      = parameter.Name;
                        p.Type      = parameter.ParameterType.Name;
                        p.Direction = Direction.IN;
                        method.Parameters.Add(p);
                    }
                    methods.Add(method);
                }
            }
            return(methods);
        }
Beispiel #2
0
        private static UMLMethodCollection GetMethods(Type type)
        {
            UMLMethodCollection methods = new UMLMethodCollection();

            foreach (MethodInfo methodInfo in type.GetMethods(BindingFlags.Public | BindingFlags.DeclaredOnly | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance))
            {
                if (methodInfo.DeclaringType == type && !methodInfo.IsSpecialName)
                {
                    UMLMethod method = new UMLMethod();
                    method.Name = methodInfo.Name;
                    
                    XmlNode node = DocsByReflection.XMLFromMember(methodInfo);
                    if (node != null)
                    {
                        method.Documentation = node.InnerXml.Trim();
                        //method.Documentation = DocsByReflection.XMLFromMember(methodInfo).ToString();
                    }
                    if (methodInfo.IsPublic)
                    {
                        method.Visibility = Visibility.Public;
                    }
                    if (methodInfo.IsPrivate)
                    {
                        method.Visibility = Visibility.Private;
                    }
                    if (methodInfo.IsFamily)
                    {
                        method.Visibility = Visibility.Protected;
                    }

                    if (methodInfo.IsGenericMethod)
                    {
                        
                    }

                    ParameterInfo returned = methodInfo.ReturnParameter;
                    if (!returned.ParameterType.Name.Equals("Void"))
                    {
                        UMLParameter p = new UMLParameter();
                        p.Name = "return";
                        p.Type = returned.ParameterType.Name;
                        p.Direction = Direction.RETURN;
                        method.Parameters.Add(p);
                    }

                    foreach (ParameterInfo parameter in methodInfo.GetParameters())
                    {
                        UMLParameter p = new UMLParameter();
                        p.Name = parameter.Name;
                        p.Type = parameter.ParameterType.Name;
                        p.Direction = Direction.IN;
                        method.Parameters.Add(p);
                    }
                    methods.Add(method);
                }
            }
            return methods;
        }