Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
        }