TokenTypes IMetadataProvider.Read(TokenTypes token, out string result) { switch ((TokenTypes.TableMask & token)) { case TokenTypes.String: { StringHeap sheap = (StringHeap)_streams[(int)HeapType.String]; result = sheap.ReadString(ref token); } break; case TokenTypes.UserString: { UserStringHeap usheap = (UserStringHeap)_streams[(int)HeapType.UserString]; result = usheap.ReadString(ref token); } break; default: throw new ArgumentException(@"Invalid token for a string.", @"token"); } return(token); }
/// <summary> /// Reads the user string. /// </summary> /// <param name="token">The token of the string to read.</param> /// <returns></returns> string IMetadataProvider.ReadUserString(HeapIndexToken token) { UserStringHeap usheap = (UserStringHeap)_streams[(int)HeapType.UserString]; return(usheap.ReadString(token)); }