C#에 클래스가 상속받지 않도록하려면 어떻게해야합니까?
-
03-07-2019 - |
문제
Java에서는 '최종'키워드 로이 작업을 수행 할 수 있습니다. C#에는 '최종'이 표시되지 않습니다. 대체물이 있습니까?
해결책
당신은 찾고 있습니다 sealed
예어. 그것은 정확히 무엇을합니다 final
Java의 키워드. 상속을 시도하면 컴파일 오류가 발생합니다.
다른 팁
또한 "나는 아무도 이것에서 물려받을 필요가 없을 것이라고 생각한다"는 "봉인"을 사용하는 좋은 이유는 아닙니다. 특정 구현이 사용되는지 확인 해야하는 특정 필요성이 없다면 클래스를 확보하지 못하게하십시오.
Joel이 이미 조언 한 것처럼 사용할 수 있습니다 sealed
대신에 final
C#에서.
http://en.csharp-online.net/csharp_faq:_does_csharp_support_final_classes
그만큼 sealed
수정자는 무엇을 할 것입니다 final
Java로합니다.
또한, 이것은 아마도이 상황에서 당신이 찾고있는 것이 아니지만 수업을 다음과 같이 표시합니다. static
또한 상속받지 않도록합니다 (무대 뒤에서 밀봉됩니다).
그만큼 sealed
키워드는 작동하지만 여전히 반사 IIRC를 사용하여 수업에서 파생 할 수 있습니다.
제휴하지 않습니다 StackOverflow