여기 내 문제가 있습니다.명시 적 변환없이 항상 올바른 유형을 얻는 방법
public class C1
{
public C1 GetThis()
{
return this;
}
}
public class C2:C1
{
}
지금, 나는 이러한 클래스를 다음과 같은 방법을 사용하려면 :
private static void Main(string[] args)
{
C1 c1 = new C1().GetThis(); //1st line
C2 c2 = new C2().GetThis(); //2nd line
}
그러나, 두 번째 줄은 작동하지 않습니다 나는 다음과 같은 2 개 종류가있다. 나는 매우 게으른 사람이고 명시 적 변환 (캐스트)를 작성 피하려고,
C2 c2 = (C2)new C2().GetThis(); //2nd line
을하지만 : 작동하려면이 같은 캐스팅해야합니다. 그래서 질문입니다 : 두 번째 줄을 캐스팅하지 않고 작동하도록 GetThis() 메서드의 구현/선언을 어떻게 변경해야합니까?
팁 주셔서 감사합니다.