Beispiel #1
0
 public MetadataHeaps()
 {
     Guids       = new GuidHeap();
     Blobs       = new BlobHeap();
     Strings     = new StringHeap();
     UserStrings = new UserStringHeap();
     Tables      = new TableHeap(this);
 }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        /// <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));
        }