세부 정보 개체를 가져 와서 유효성을 검사하고이를 요청으로 변환하고 큐에 넣는 다음과 같은 메서드가 있습니다. 내가 문제가있는 유효성 확인 요청을 제외하고는 모든 것이 잘됩니다. 기본적으로, 각 세부 오브젝트에 대해 다른 유효성 검증 논리가 있습니다. 나는 세부 객체가 BaseDetails의 기본 클래스를 가져야하고 실제 generic 매개 변수에서 파생 된 정확한 유형을 알고 있어야하지만,이 클래스를 사용하여 모든 유효성 검사기 클래스를 작성하는 방법을 모르기 때문에 모든 유형의 세부 사항을 처리한다는 일반 제약 조건을 알고 있습니다. :제네릭을 사용하는 초보자 다형성 질문
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);
}
}
TDetails의 각 구현마다 다른 밸리데이션이 필요합니까? –
예, 일부는 일반적이지만 TDetails마다 다른 추가 비트가 있습니다. –