private object decodeProp(string type, int len) { switch (type) { case "uint32": return(Decoder.decodeUInt32(getBytes())); case "int32": case "sint32": return(Decoder.decodeSInt32(getBytes())); case "uint64": return(Decoder.decodeUInt64(getBytes())); case "int64": case "sint64": return(Decoder.decodeSInt64(getBytes())); case "float": return(decodeFloat()); case "double": return(decodeDouble()); case "string": return(decodeString()); case "bool": return(decodeBool()); default: return(decodeObject(type, protos, len)); } }