을 반환하는 최우선 방법을 제한합니다.C#을 나뿐만 아니라 기본 클래스에서 상속하는 인터페이스를 구현해야하는 클래스의 인스턴스를 반환하는 방법을 가지고 있어야 추상 클래스가 특정 유형의
public abstract class AbstractClass
{
abstract [DonotKnowTheType] GetClassInstance() //The Return type should be an instance of a class which implements TestClass and ISample
}
public class ChildClass : AbstractClass
{
override [DonotKnowTheType] GetClassInstance()
{
//Need to return instance of SampleClass in this example. This could vary, this should be an instance of a class which implements TestClass and ISample
}
}
public class SampleClass : TestClass,ISample
{
//Implementation
}
좋은 디자인으로이를 달성하는 데 도움을주십시오. ChildClass에서 재정의 메서드를 작성하는 개발자가 TestClass 및 ISample을 구현하는 클래스의 인스턴스 만 반환하도록 제한해야합니다. 그렇지 않으면 컴파일 시간 오류가 발생합니다.
어떤 방법이 있나요 이것을 성취하는 것? – Azeeb
정직하게도 이것에 대한 이유가 없습니다, 나에게 이것은 나쁜 api 디자인입니다. –
@FilipCordas 필자는 유창한 API 디자인이 그러한 특성을 통해 큰 이익을 얻을 수 있다고 생각합니다. –