예제 #1
0
        internal static void OpenGenericTypeDoesNotContainUnresolvableTypeArguments(
            Type serviceType, Type implementationType, string parameterName)
        {
            if (serviceType.ContainsGenericParameters() && implementationType.ContainsGenericParameters())
            {
                var builder = new GenericTypeBuilder(serviceType, implementationType);

                if (!builder.OpenGenericImplementationCanBeAppliedToServiceType())
                {
                    string error =
                        StringResources.OpenGenericTypeContainsUnresolvableTypeArguments(implementationType);

                    throw new ArgumentException(error, parameterName);
                }
            }
        }