public GenericParameterMapper(Type type, GenericParameterMapper parent) { if (type == null) { throw new ArgumentNullException(nameof(type)); } if (type.IsGenericType) { if (type.IsGenericTypeDefinition) { throw new ArgumentException("Cannot Map Generic Type Definition"); } this._parent = parent; this._localMappings = GenericParameterMapper.CreateMappings(type.GetGenericTypeDefinition().GetGenericArguments(), type.GetGenericArguments()); } else { this._localMappings = GenericParameterMapper.EmptyMappings; this._parent = null; } }
public GenericParameterMapper(Type[] reflectedParameters, Type[] generatedParameters, GenericParameterMapper parent) { this._parent = parent; this._localMappings = GenericParameterMapper.CreateMappings(reflectedParameters, generatedParameters); }