public static Argument CreateFromArgumentNode(XElement node, XmlNamespaceManager namespaces) { if (!namespaces.HasNamespace("x")) { return(null); } var name = node.Attribute(XName.Get("Key", namespaces.LookupNamespace("x")))?.Value; var type = node.Attribute(XName.Get("TypeArguments", namespaces.LookupNamespace("x")))?.Value; var direction = ArgumentDirectionMethods.Parse(node.Name.LocalName); return(new Argument(name, direction, type)); }
public static Argument CreateFromAttributes(string name, string type) { Argument arg = new Argument(name); int parenthesisIndex = type.IndexOf('('); string dirType = type.Substring(0, parenthesisIndex); ArgumentDirection argDirection = ArgumentDirectionMethods.Parse(dirType); arg.Direction = argDirection; arg.Type = type.Substring(parenthesisIndex + 1, type.Length - parenthesisIndex - 2); return(arg); }