/// <inheritdoc /> protected override ITypeDefOrRef GetBaseType() { if (_row.Extends == 0) { return(null); } var decoder = _parentModule.DotNetDirectory.Metadata .GetStream <TablesStream>() .GetIndexEncoder(CodedIndex.TypeDefOrRef); var token = decoder.DecodeIndex(_row.Extends); return((ITypeDefOrRef)_parentModule.LookupMember(token)); }
/// <inheritdoc /> protected override IList <GenericParameterConstraint> GetConstraints() { var result = new OwnedCollection <GenericParameter, GenericParameterConstraint>(this); foreach (uint rid in _parentModule.GetGenericParameterConstraints(MetadataToken)) { var constraintToken = new MetadataToken(TableIndex.GenericParamConstraint, rid); result.Add((GenericParameterConstraint)_parentModule.LookupMember(constraintToken)); } return(result); }
/// <inheritdoc /> protected override IList <MethodSemantics> GetSemantics() { var result = new MethodSemanticsCollection(this); result.ValidateMembership = false; foreach (uint rid in _parentModule.GetMethodSemantics(MetadataToken)) { var semanticsToken = new MetadataToken(TableIndex.MethodSemantics, rid); result.Add((MethodSemantics)_parentModule.LookupMember(semanticsToken)); } result.ValidateMembership = true; return(result); }