예제 #1
0
        public static bool TryMakeGenericPartDefinition(ComposablePartDefinition partDefinition, IEnumerable <Type> genericParameters, out ComposablePartDefinition specialization)
        {
            Requires.NotNull(partDefinition, "partDefinition");

            specialization = null;
            ReflectionComposablePartDefinition reflectionPartDefinition = partDefinition as ReflectionComposablePartDefinition;

            if (reflectionPartDefinition == null)
            {
                throw ExceptionBuilder.CreateReflectionModelInvalidPartDefinition("partDefinition", partDefinition.GetType());
            }

            return(reflectionPartDefinition.TryMakeGenericPartDefinition(genericParameters.ToArray(), out specialization));
        }