Beispiel #1
0
        public static Asn1Node Parse(XElement xNode)
        {
            switch (xNode.Name.LocalName)
            {
            case Asn1Sequence.NODE_NAME:
                return(Asn1Sequence.Parse(xNode));

            case Asn1Set.NODE_NAME:
                return(Asn1Set.Parse(xNode));

            case Asn1Integer.NODE_NAME:
                return(Asn1Integer.Parse(xNode));

            case Asn1ObjectIdentifier.NODE_NAME:
                return(Asn1ObjectIdentifier.Parse(xNode));

            case Asn1NumericString.NODE_NAME:
                return(Asn1NumericString.Parse(xNode));

            case Asn1PrintableString.NODE_NAME:
                return(Asn1PrintableString.Parse(xNode));

            case Asn1T61String.NODE_NAME:
                return(Asn1T61String.Parse(xNode));

            case Asn1Ia5String.NODE_NAME:
                return(Asn1Ia5String.Parse(xNode));

            case Asn1Utf8String.NODE_NAME:
                return(Asn1Utf8String.Parse(xNode));

            case Asn1Null.NODE_NAME:
                return(Asn1Null.Parse(xNode));

            case Asn1BitString.NODE_NAME:
                return(Asn1BitString.Parse(xNode));

            case Asn1CustomNode.NODE_NAME:
                return(Asn1CustomNode.Parse(xNode));

            default:
                throw new Exception("Invalid Node " + xNode.Name.LocalName);
            }
        }