Tengo el siguiente método que toma un objeto de detalles, lo valida, lo convierte en una solicitud y lo pone en cola. Todo está bien, aparte de la solicitud de validación con la que estoy teniendo problemas. Básicamente, existe una lógica de validación diferente para cada objeto de detalles diferentes. Sé por la restricción genérica que el objeto de detalles debe tener una clase base de BaseDetails y del parámetro genérico real sé el tipo derivado exacto, pero no sé cómo usarlos para escribir mi clase de validador para que maneje todos los tipos de detalles :Pregunta de polimorfismo novato usando genéricos
private void Enqueue<TDetails, TRequest>(TDetails details)
where TDetails: BaseDetails where TRequest: BaseRequest
{
bool isValid = _validator.Validate(details);
if (isValid)
{
TRequest request = ObjectMapper
.CreateMappedMessage<TDetails, TRequest>(details);
_queue.Enqueue(request);
}
}
¿Necesita una validación diferente para cada implementación de TDetails? –
sí, algo de esto es común, pero hay diferentes bits adicionales para cada TDetails. –