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