다른 StackExchange 질문 에서이 프로토 타입을 사용하는 사람을 발견했습니다.
void DoSomething<T>(T arg) where T: SomeSpecificReferenceType
{
//Code....
}
단 하나의 타입 제약 ( SomeSpecificReferenceType
) 만이 있다는 점을 명심 하면, 단순히 작성하는 것보다는 다음과 같이 작성하는 것의 차이점과 장점은 무엇입니까?
void DoSomething(SomeSpecificReferenceType arg)
{
//Code....
}
두 경우 모두 arg
컴파일 타임 유형 검사가 적용됩니다. 두 경우 모두, 메소드의 본문은 arg
컴파일 타임에 알려진 특정 유형의 지식 (또는 그 후손) 에 안전하게 의존 할 수 있습니다 .
일반 상속에 대해 배우기 전에 제네릭에 대해 배우는 열렬한 개발자의 경우입니까? 아니면 메소드 서명이 이런 식으로 쓰여지는 합당한 이유가 있습니까?