0
출하 (내부적으로 배송되었지만) 된 라이브러리가 있으며 라이브러리 내의 공용 클래스의 이름을 바꾸고 싶습니다.출하 된 라이브러리의 공용 클래스 이름 바꾸기
는 내가하고 싶은 것은
클라이언트 코드를 작업에
- 클라이언트 코드가 유지되었는지 확인하는 방법입니다
인가 클래스 이름의 사용에 컴파일에 중단 경고를 가져옵니다 거기에 어떤 방법으로 클래스의 별칭을 지정할 수있는 방법이 있습니다.
- 앞으로이 문제를 피할 수있는 방법이 있습니까? (클래스의 이름이 정확하고 철자가 맞는지 확인하는 것 외에는 다른 방법이 있습니까?) public 생성자를 유지하고 싶습니다. 인터페이스로 작업해도 모든 문제가 해결되지는 않습니다.
필자의 경우 인터페이스가 변경되지 않았으므로 클래스 이름에만 공개 DoTheOldWay() 또는 DoItInSomeOtherWay()가 적용됩니다. – Martijn
클래스 이름 만 있고 문제가있는 경우 클래스의 이름을 바꾸고 원래 이름으로 이름이 지정된 하위 클래스를 만들 수 있습니다. 이 하위 클래스는 기본 클래스 생성자를 호출하는 생성자를 정의하고 ObsoleteAttribute로 장식해야합니다 (이 답변 에서처럼). 새 클래스를 사용하는 코드는 이전 클래스의 인스턴스를 허용합니다. 슬프게도, 그것은 다른 방향으로 돌아 가지 않을 것입니다. – Palec