void GenerateProxies( ArtifactsConfiguration artifactsConfiguration, BuildTaskConfiguration configuration, Func <object, string> template, string artifactTypeName, Func <Type, ArtifactsConfiguration, BuildTaskConfiguration, Func <object, string>, IEnumerable <Proxy> > ProxyGeneratorFunction, ref List <Proxy> proxies) { var artifactType = _artifactTypes.Single(_ => _.TypeName.Equals(artifactTypeName)).Type; var artifacts = _artifacts.Where(_ => artifactType.IsAssignableFrom(_)); foreach (var artifact in artifacts) { var newProxies = ProxyGeneratorFunction(artifact, artifactsConfiguration, configuration, template); proxies.AddRange(newProxies); } }
IEnumerable <Proxy> GenerateProxies( ArtifactsConfiguration artifactsConfiguration, BuildTaskConfiguration configuration, Func <object, string> template, string artifactTypeName, Func <Type, ArtifactsConfiguration, BuildTaskConfiguration, Func <object, string>, IEnumerable <Proxy> > proxyGeneratorFunction) { List <Proxy> proxies = new List <Proxy>(); var artifactType = _artifactTypes.Single(_ => _.TypeName.Equals(artifactTypeName, StringComparison.InvariantCulture)).Type; foreach (var artifact in _artifacts.Where(_ => artifactType.IsAssignableFrom(_))) { var newProxies = proxyGeneratorFunction(artifact, artifactsConfiguration, configuration, template); proxies.AddRange(newProxies); } return(proxies); }