void InitFields_NoLock() { var mdi = readerModule.MetaDataImport; uint token = OriginalToken.Raw; fieldRidToFieldOffset = CalculateFieldOffsets(); var fds = fields; if (fds != null) { fds.Clear(); } var itemTokens = MDAPI.GetFieldTokens(mdi, token); var newItems = new MemberInfo <CorFieldDef> [itemTokens.Length]; for (int i = 0; i < itemTokens.Length; i++) { uint itemRid = itemTokens[i] & 0x00FFFFFF; newItems[i] = readerModule.Register(new CorFieldDef(readerModule, itemRid, this), cmd => cmd.Initialize()); } fields = new LazyList <FieldDef>(itemTokens.Length, this, itemTokens, (itemTokens2, index) => newItems[index].Item); }
void InitParamDefs_NoLock() { var mdi = readerModule.MetaDataImport; uint token = OriginalToken.Raw; paramDefs?.Clear(); var itemTokens = MDAPI.GetParamTokens(mdi, token); var newItems = new MemberInfo <CorParamDef> [itemTokens.Length]; for (int i = 0; i < itemTokens.Length; i++) { uint itemRid = itemTokens[i] & 0x00FFFFFF; newItems[i] = readerModule.Register(new CorParamDef(readerModule, itemRid, this), cmd => cmd.Initialize()); } paramDefs = new LazyList <ParamDef>(itemTokens.Length, this, itemTokens, (itemTokens2, index) => newItems[index].Item); }