/// <summary> /// Initializes a new instance. /// </summary> /// <param name="requiredPort">The reference to the required port that should be bound.</param> /// <param name="providedPort">The reference to the provided port that should be bound.</param> public PortBinding(PortReference requiredPort, PortReference providedPort) { Requires.NotNull(requiredPort, nameof(requiredPort)); Requires.NotNull(providedPort, nameof(providedPort)); RequiredPort = requiredPort; ProvidedPort = providedPort; var metadataAttribute = BindingMetadataAttribute.Get(RequiredPort.GetMethod()); metadataAttribute.BindingField.SetValue(requiredPort.TargetObject, this); }