예제 #1
0
        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);
        }