protected dynamic ProcessValue(SubStream data, List <string> path) { int type = data.ReadByte(); switch ((char)type) { case 'T': return(ProcessKeyValuePairs(data, path)); case 'I': return(ProcessInt32List(data)); case 'i': return(data.ReadInt32()); case 'F': return(ProcessSingleList(data)); case 'f': return(data.ReadSingle()); case 'S': return(ProcessStringList(data)); case 's': return(data.ReadString()); case 'M': return(ProcessList(data, path)); case '.': return(null); case 'R': return(ProcessRawBinary(data)); default: throw new NotImplementedException(String.Format("Unknown type {0} ({0:X8}) at position {1}", (char)type, data.Position)); } }
protected dynamic ProcessValue(SubStream data, List<string> path) { int type = data.ReadByte(); switch ((char)type) { case 'T': return ProcessKeyValuePairs(data, path); case 'I': return ProcessInt32List(data); case 'i': return data.ReadInt32(); case 'F': return ProcessSingleList(data); case 'f': return data.ReadSingle(); case 'S': return ProcessStringList(data); case 's': return data.ReadString(); case 'M': return ProcessList(data, path); case '.': return null; case 'R': return ProcessRawBinary(data); default: throw new NotImplementedException(String.Format("Unknown type {0} ({0:X8}) at position {1}", (char)type, data.Position)); } }