예제 #1
0
        private static IStructuralSearchPattern CreatePattern(int forwardersCount)
        {
            string patternFragment;
            TypePlaceholder[] forwarderPlaceholders = CreateForwarderPlaceholders(forwardersCount, out patternFragment);

            string patternText = forwarderPlaceholders.Length == 0
                                     ? "$component$.For<$service$>()"
                                     : string.Format("$component$.For<$service$, {0}>()", patternFragment);

            var pattern = new CSharpStructuralSearchPattern(patternText,
                            new ExpressionPlaceholder("component", "Castle.MicroKernel.Registration.Component"),
                            new TypePlaceholder("service"));

            foreach (TypePlaceholder placeholder in forwarderPlaceholders)
            {
                pattern.Placeholders[placeholder.Name] = placeholder;
            }

            return pattern;
        }
예제 #2
0
        private static IStructuralSearchPattern CreatePattern(int forwardersCount)
        {
            string patternFragment;
            TypePlaceholder[] forwarderPlaceholders = CreateForwarderPlaceholders(forwardersCount, out patternFragment);

            string patternText = forwarderPlaceholders.Length == 0
                                     ? "$component$.For<$service$>()"
                                     : string.Format("$component$.For<$service$, {0}>()", patternFragment);

            var pattern = new CSharpStructuralSearchPattern(patternText,
                            new ExpressionPlaceholder("component", "Castle.MicroKernel.Registration.Component"),
                            new TypePlaceholder("service"));

            foreach (TypePlaceholder placeholder in forwarderPlaceholders)
            {
                pattern.Placeholders[placeholder.Name] = placeholder;
            }

            return pattern;
        }