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; }
/// <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; }