public static ITraversableConnection <TUnit, TConnection, TUnitActivation> CreateConnection <TConnectionImpl>(ITraversableUnit <TUnit, TConnection, TUnitActivation> unitBelow, ITraversableUnit <TUnit, TConnection, TUnitActivation> unitAbove) where TConnectionImpl : TConnection, new() { var connection = new TraversableConnection <TUnit, TConnection, TUnitActivation> { Properties = new TConnectionImpl(), InputUnit = unitBelow, OutputUnit = unitAbove }; unitBelow.AddOutgoingConnection(connection); unitAbove.AddIncomingConnection(connection); return(connection); }
private ITraversableConnection <IUnitUnderTraining, IConnectionUnderTraining, IUnitActivationTraining> CreateConnection(ITraversableUnit <IUnitUnderTraining, IConnectionUnderTraining, IUnitActivationTraining> input, ITraversableUnit <IUnitUnderTraining, IConnectionUnderTraining, IUnitActivationTraining> output) { return(TraversableConnection <IUnitUnderTraining, IConnectionUnderTraining, IUnitActivationTraining> .CreateConnection <ConnectionUnderTraining>(input, output)); }