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

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

static private FromString ( String value, InternalPrimitiveTypeE code ) : Object
value String
code InternalPrimitiveTypeE
Результат Object
        internal static Object FromString(String value, InternalPrimitiveTypeE code)
        {
            Object var;
            InternalST.Soap( "Converter", "FromString Entry ",value," " , ((Enum)code).ToString());             
            switch (code)
            {
                case InternalPrimitiveTypeE.Boolean:
                    if (value == "1" || value == "true")
                        var = (bool)true;
                    else if (value == "0" || value =="false")
                        var = (bool)false;
                    else
                        throw new SerializationException(String.Format(CultureInfo.CurrentCulture, SoapUtil.GetResourceString("Serialization_typeCoercion"),value, "Boolean"));																				
                    break;
                case InternalPrimitiveTypeE.TimeSpan:
                    var = SoapDuration.Parse(value);
                    break;                          
                case InternalPrimitiveTypeE.DateTime:
                    var = SoapDateTime.Parse(value);
                    break;   
                case InternalPrimitiveTypeE.Double:
                    if (value == "INF")
                        var =  Double.PositiveInfinity;
                    else if (value == "-INF")
                        var =  Double.NegativeInfinity;
                    else
                        var = Double.Parse(value, CultureInfo.InvariantCulture);
                    break;
                case InternalPrimitiveTypeE.Single:
                    if (value == "INF")
                        var =  Single.PositiveInfinity;
                    else if (value == "-INF")
                        var =  Single.NegativeInfinity;
                    else
                        var = Single.Parse(value, CultureInfo.InvariantCulture);
                    break;
                case InternalPrimitiveTypeE.Time:
                    var= SoapTime.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Date:
                    var= SoapDate.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.YearMonth:
                    var= SoapYearMonth.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Year:
                    var= SoapYear.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.MonthDay:
                    var= SoapMonthDay.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Day:
                    var= SoapDay.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Month:
                    var= SoapMonth.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.HexBinary:
                    var= SoapHexBinary.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Base64Binary:
                    var= SoapBase64Binary.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Integer:
                    var= SoapInteger.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.PositiveInteger:
                    var= SoapPositiveInteger.Parse(value);
                    break; 
                case InternalPrimitiveTypeE. NonPositiveInteger:
                    var= SoapNonPositiveInteger.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.NonNegativeInteger:
                    var= SoapNonNegativeInteger.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.NegativeInteger:
                    var= SoapNegativeInteger.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.AnyUri:
                    var= SoapAnyUri.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.QName:
                    var= SoapQName.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Notation:
                    var= SoapNotation.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.NormalizedString:
                    var= SoapNormalizedString.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Token:
                    var= SoapToken.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Language:
                    var= SoapLanguage.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Name:
                    var= SoapName.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Idrefs:
                    var= SoapIdrefs.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Entities:
                    var= SoapEntities.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Nmtoken:
                    var= SoapNmtoken.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Nmtokens:
                    var= SoapNmtokens.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.NcName:
                    var= SoapNcName.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Id:
                    var= SoapId.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Idref:
                    var= SoapIdref.Parse(value);
                    break; 
                case InternalPrimitiveTypeE.Entity:
                    var= SoapEntity.Parse(value);
                    break; 

                default:
                    // InternalPrimitiveTypeE needs to be a primitive type
                    InternalST.SoapAssert((code != InternalPrimitiveTypeE.Invalid), "[Converter.FromString]!InternalPrimitiveTypeE.Invalid ");
                    if (code != InternalPrimitiveTypeE.Invalid)
                        var = Convert.ChangeType(value, ToTypeCode(code), CultureInfo.InvariantCulture);
                    else
                        var = value;
                    break;
            }
            InternalST.Soap( "Converter", "FromString Exit "+((var == null)?"null":var+" var type "+((var==null)?"<null>":var.GetType().ToString())));
            return var;

        }