void IMetadataProvider.Read(TokenTypes token, out MemberRefRow result)
 {
     TableHeap theap = (TableHeap)_streams[(int)HeapType.Tables];
     theap.Read(token, out result);
 }
 public MemberRefRowExt(IMetadataProvider metadata, MemberRefRow row)
     : base(metadata)
 {
     this.row = row;
 }
Exemple #3
0
        /// <summary>
        /// Reads the specified token.
        /// </summary>
        /// <param name="token">The token.</param>
        /// <param name="result">The result.</param>
        public void Read(TokenTypes token, out MemberRefRow result)
        {
            if ((token & TokenTypes.TableMask) != TokenTypes.MemberRef)
                throw new ArgumentException ("Invalid token type for MemberRefRow.", "token");

            using (BinaryReader reader = CreateReaderForToken (token))
            {
                result = new MemberRefRow (ReadIndexValue (reader, IndexType.MemberRefParent), ReadIndexValue (reader, IndexType.StringHeap), ReadIndexValue (reader, IndexType.BlobHeap));
            }
        }
 private static TokenTypes GetLocalTypeRefToken(IMetadataModule module, TokenTypes ctorToken)
 {
     MemberRefRow memberRef = new MemberRefRow();
     module.Metadata.Read(ctorToken, out memberRef);
     return memberRef.ClassTableIdx;
 }