/// <summary> /// Creates a generic parameter constraint from a generic parameter constraint metadata row. /// </summary> /// <param name="parentModule">The module that contains the constraint.</param> /// <param name="token">The token to initialize the constraint for.</param> /// <param name="row">The metadata table row to base the constraint on.</param> public SerializedGenericParameterConstraint(SerializedModuleDefinition parentModule, MetadataToken token, GenericParameterConstraintRow row) : base(token) { _parentModule = parentModule ?? throw new ArgumentNullException(nameof(parentModule)); _row = row; }
private void AddGenericParameterConstraint(MetadataToken ownerToken, GenericParameterConstraint constraint) { if (constraint is null) { return; } var table = Metadata.TablesStream.GetTable <GenericParameterConstraintRow>(TableIndex.GenericParamConstraint); var row = new GenericParameterConstraintRow( ownerToken.Rid, GetTypeDefOrRefIndex(constraint.Constraint)); var token = table.Add(row); AddCustomAttributes(token, constraint); }