CarModel
에 의해 구현되는 추상 클래스 Model
가 있습니다.추상 클래스의 반환 유형으로 로컬 클래스 사용
나는 Model
추상 클래스에 메서드 Clone
을 갖고 싶습니다.이 클래스는 인스턴스화하는 클래스의 유형을 반환하려고합니다. Clone
유형 Model
이어야하기 때문에
abstract class Model
{
public abstract Model Clone();
}
class CarModel : Model
{
public override CarModel Clone() {
return undefined;
}
}
그러나이 작동하지 않습니다
예를 들어, 나는 CarModel
아래처럼 CarModel
를 반환하는 Clone
방법을 필요로 Model
을 구현하고 싶습니다. 이 결과는 CarModel
이 Clone
메서드를 구현하여 실제로 BikeModel
을 반환 할 수 있기 때문에 내가 원하는 결과는 아닙니다.
이 작업을 수행 할 수 있습니까? 그렇다면 어떻게?
[제네릭을 사용하는 C#의 공변 리턴 타입] (의 가능한 중복 http://stackoverflow.com/questions/4348760/c-sharp-covariant-return-types- 활용 - generics) –