프로그래밍을 조금 해본 후에 제 수업 중 하나에서 이전에 본 적이없는 방식으로 제네릭을 사용했습니다. 나쁜 코딩인지 아닌지에 대한 의견을 듣고 싶습니다.제네릭의 이상한 사용
abstract class Base<T> : where T : Base<T>
{
// omitted methods and properties.
virtual void CopyTo(T instance) { /*code*/ }
}
class Derived : Base<Derived>
{
override void CopyTo(Derived instance)
{
base.CopyTo(instance);
// copy remaining stuff here
}
}
제네릭을 사용 하시겠습니까? 아닙니다. 저는 주로 "그 자체"에 대한 제약을 생각하고 있습니다. 나는 때로는 generics가 Base 클래스를 사용하는 다른 클래스로 "폭발"할 수 있다고 생각한다.
실제로 그것은 드문 일이 아니며 전에 본 적이 있습니다 ... –
Generics가있는 것입니다. 인터페이스를 좀 더 추상화하기 위해 인터페이스를 노출 할 것입니다. –
타입 T가베이스으로 왜 필요한가요? 나는 당신의 견본에서 그 어떤 이유도 보지 못했고, 실제로 당신이 그것을 사용하는 이유를 알 수 없다. 내가 놓친 것이 무엇인가? –