관련이 this 질문 :Com + Class ID는 어떻게 결정됩니까?
사용자 지정 코드를 넣어야하는 C# 템플릿/프로젝트가 있습니다. 문서에 따르면 "4 개의 공용 함수 이외의 다른 코드가 변경되면 COM + 클래스 ID가 변경 될 수 있으며 개체 안전 스크립트가 작동하지 않아 BSTCustomValidation.dll 유효성 검사 구성 요소가 실행되지 않습니다."
템플릿이 잘 작동하여 COM + 클래스 ID가 변경되지 않았다고 가정합니다. 일련의 개인 메서드를 추가 할 때 COM + 클래스 ID가 변경된 것처럼 보였고 유효성 검사에 실패했습니다. 하지만 인터페이스를 만들고 클래스가 상속 받으면 Com 클래스 ID가 원본 템플릿과 동일하기 때문에 유효성 검사를 통과했습니다.
개인용 메서드를 추가하면 Com + Class ID가 변경된 것이지만 인터페이스를 추가하면 다시 변경됩니다.
그 주석이 나올 때까지는 (실제로 놀랍지 만) 그 물체가 같은 이름과 동일한 공개 메소드를 가지고 있기 때문에 실제로는 다른 유형이라는 것을 깨달았습니다. 명성 – TruthOf42