System.Runtime.Serialization.Formatters.Soap.Converter.ToCode C# (CSharp) Метод

ToCode() статический приватный Метод

static private ToCode ( String value ) : InternalPrimitiveTypeE
value String
Результат InternalPrimitiveTypeE
        internal static InternalPrimitiveTypeE ToCode(String value)
        {
            InternalST.Soap("Converter", "ToCode String Entry ",value);
            if (value == null)
                throw new ArgumentNullException("serParser", String.Format(CultureInfo.CurrentCulture, SoapUtil.GetResourceString("ArgumentNull_WithParamName"), value));

            String lxsdType = value.ToLower(CultureInfo.InvariantCulture);
            Char firstChar = lxsdType[0];
            InternalPrimitiveTypeE code = InternalPrimitiveTypeE.Invalid;           

            switch (firstChar)
            {   
                case 'a':
                    if (lxsdType == "anyuri")
                        code = InternalPrimitiveTypeE.AnyUri;

                    break;
                case 'b':
                    if (lxsdType == "boolean")
                        code = InternalPrimitiveTypeE.Boolean;
                    else if (lxsdType == "byte")
                        code = InternalPrimitiveTypeE.SByte;
                    else if (lxsdType == "base64binary")
                        code = InternalPrimitiveTypeE.Base64Binary;
                    else if (lxsdType == "base64")
                        code = InternalPrimitiveTypeE.Base64Binary;
                    break;
                case 'c':
                    if ((lxsdType == "char") || (lxsdType == "character")) // Not xsd types
                        code = InternalPrimitiveTypeE.Char;
                    break;

                case 'd':
                    if (lxsdType == "double")
                        code = InternalPrimitiveTypeE.Double;
                    if (lxsdType == "datetime")
                        code = InternalPrimitiveTypeE.DateTime;
                    else if (lxsdType == "duration")
                        code = InternalPrimitiveTypeE.TimeSpan;
                    else if (lxsdType == "date")
                        code = InternalPrimitiveTypeE.Date;
                    else if (lxsdType == "decimal")  
                        code = InternalPrimitiveTypeE.Decimal; 

                    break;
                case 'e':
                    if (lxsdType == "entities")
                        code = InternalPrimitiveTypeE.Entities;
                    else if (lxsdType == "entity")
                        code = InternalPrimitiveTypeE.Entity;
                    break;
                case 'f':
                    if (lxsdType == "float")
                        code = InternalPrimitiveTypeE.Single;
                    break;
                case 'g':
                    if (lxsdType == "gyearmonth")
                        code = InternalPrimitiveTypeE.YearMonth;
                    else if (lxsdType == "gyear")
                        code = InternalPrimitiveTypeE.Year;
                    else if (lxsdType == "gmonthday")
                        code = InternalPrimitiveTypeE.MonthDay;
                    else if (lxsdType == "gday")
                        code = InternalPrimitiveTypeE.Day;
                    else if (lxsdType == "gmonth")
                        code = InternalPrimitiveTypeE.Month;
                    break;
                case 'h':
                    if (lxsdType == "hexbinary")
                        code = InternalPrimitiveTypeE.HexBinary;
                    break;
                case 'i':
                    if (lxsdType == "int")
                        code = InternalPrimitiveTypeE.Int32;
                    if (lxsdType == "integer")
                        code = InternalPrimitiveTypeE.Integer;
                    else if (lxsdType == "idrefs")
                        code = InternalPrimitiveTypeE.Idrefs;
                    else if (lxsdType == "id")
                        code = InternalPrimitiveTypeE.Id;
                    else if (lxsdType == "idref")
                        code = InternalPrimitiveTypeE.Idref;
                    break;
                case 'l':
                    if (lxsdType == "long")
                        code = InternalPrimitiveTypeE.Int64;
                    else if (lxsdType == "language")
                        code = InternalPrimitiveTypeE.Language;
                    break;
                case 'n':
                    if (lxsdType == "number") //No longer used
                        code = InternalPrimitiveTypeE.Decimal;
                    else if (lxsdType == "normalizedstring")
                        code = InternalPrimitiveTypeE.NormalizedString;
                    else if (lxsdType == "nonpositiveinteger")
                        code = InternalPrimitiveTypeE.NonPositiveInteger;
                    else if (lxsdType == "negativeinteger")
                        code = InternalPrimitiveTypeE.NegativeInteger;
                    else if (lxsdType == "nonnegativeinteger")
                        code = InternalPrimitiveTypeE.NonNegativeInteger;
                    else if (lxsdType == "notation")
                        code = InternalPrimitiveTypeE.Notation;
                    else if (lxsdType == "nmtoken")
                        code = InternalPrimitiveTypeE.Nmtoken;
                    else if (lxsdType == "nmtokens")
                        code = InternalPrimitiveTypeE.Nmtokens;
                    else if (lxsdType == "name")
                        code = InternalPrimitiveTypeE.Name;
                    else if (lxsdType == "ncname")
                        code = InternalPrimitiveTypeE.NcName;
                    break;
                case 'p':
                    if (lxsdType == "positiveinteger")
                        code = InternalPrimitiveTypeE.PositiveInteger;
                    break;
                case 'q':
                    if (lxsdType == "qname")
                        code = InternalPrimitiveTypeE.QName;
                    break;
                case 's':
                    if (lxsdType == "short")
                        code = InternalPrimitiveTypeE.Int16;
                    else if (lxsdType == "system.byte") // used during serialization
                        code = InternalPrimitiveTypeE.Byte;
                    else if (lxsdType == "system.sbyte") // used during serialization
                        code = InternalPrimitiveTypeE.SByte;
                    else if (lxsdType == "system") //used during serialization
                        code = ToCode(value.Substring(7));
                    else if (lxsdType == "system.runtime.remoting.metadata") //used during serialization
                        code = ToCode(value.Substring(33));
                    break;
                case 't':
                    if (lxsdType == "time")
                        code = InternalPrimitiveTypeE.Time;
                    else if (lxsdType == "token")
                        code = InternalPrimitiveTypeE.Token;
                    else if (lxsdType == "timeinstant")
                        code = InternalPrimitiveTypeE.DateTime;
                    else if (lxsdType == "timeduration")
                        code = InternalPrimitiveTypeE.TimeSpan;
                    break;
                case 'u':
                    if (lxsdType == "unsignedlong")
                        code = InternalPrimitiveTypeE.UInt64;
                    else if (lxsdType == "unsignedint")
                        code = InternalPrimitiveTypeE.UInt32;
                    else if (lxsdType == "unsignedshort")
                        code = InternalPrimitiveTypeE.UInt16;
                    else if (lxsdType == "unsignedbyte")
                        code = InternalPrimitiveTypeE.Byte;
                    break;
                default:
                    code = InternalPrimitiveTypeE.Invalid;
                    break;
            }

            InternalST.Soap("Converter", "ToCode Exit ", ((Enum)code).ToString());      
            return code;
        }

Same methods

Converter::ToCode ( Type type ) : InternalPrimitiveTypeE