コード例 #1
0
        public override object Deserialize(StreamBuffer din, byte type)
        {
            switch (type)
            {
            case 105:
                return(this.DeserializeInteger(din));

            case 115:
                return(this.DeserializeString(din));

            case 97:
                return(this.DeserializeStringArray(din));

            case 120:
                return(this.DeserializeByteArray(din, -1));

            case 110:
                return(this.DeserializeIntArray(din, -1));

            case 104:
                return(this.DeserializeHashTable(din));

            case 68:
                return(this.DeserializeDictionary(din));

            case 111:
                return(this.DeserializeBoolean(din));

            case 107:
                return(this.DeserializeShort(din));

            case 108:
                return(this.DeserializeLong(din));

            case 98:
                return(this.DeserializeByte(din));

            case 102:
                return(this.DeserializeFloat(din));

            case 100:
                return(this.DeserializeDouble(din));

            case 121:
                return(this.DeserializeArray(din));

            case 99:
            {
                byte customTypeCode = din.ReadByteAsByte();
                return(this.DeserializeCustom(din, customTypeCode));
            }

            case 122:
                return(this.DeserializeObjectArray(din));

            case 101:
                return(this.DeserializeEventData(din, null));

            case 113:
                return(this.DeserializeOperationRequest(din));

            case 112:
                return(this.DeserializeOperationResponse(din));

            case 0:
            case 42:
                return(null);

            default:
                throw new Exception("Deserialize(): " + type + " pos: " + din.IntPosition + " bytes: " + din.IntLength + ". " + SupportClass.ByteArrayToString(din.GetBuffer()));
            }
        }