>  기사  >  백엔드 개발  >  유형에 내보내지 않은 메서드가 있고 다른 패키지에 정의되어 있으므로 'X'를 구현할 수 없습니다.

유형에 내보내지 않은 메서드가 있고 다른 패키지에 정의되어 있으므로 'X'를 구현할 수 없습니다.

WBOY
WBOY앞으로
2024-02-09 11:10:10438검색

유형에 내보내지 않은 메서드가 있고 다른 패키지에 정의되어 있으므로 X를 구현할 수 없습니다.

php편집자 유즈님, 안녕하세요! "X" 유형 구현 문제에 대해서는 내보내지 않은 메소드가 있고 다른 패키지에 정의되어 있으므로 직접 구현할 수 없습니다. PHP에서는 서로 다른 패키지 간의 메서드와 속성에 직접 액세스할 수 없습니다. "X" 유형을 구현하려는 경우 인터페이스나 상속을 사용하여 필요한 기능을 간접적으로 구현하는 것을 고려할 수 있습니다. 인터페이스를 정의하고 이를 다른 클래스에서 구현하거나 상속하여 필요한 메서드와 속성을 가져옵니다. 이를 통해 "X" 유형 기능을 다양한 패키지에서 구현할 수 있습니다. 도움이 되었기를 바랍니다!

질문 내용

다음 코드가 있습니다:

으아악

다음 오류가 발생했습니다:

으아악

내 메시지 서버 구조는 다음과 같습니다:

으아악

다음 줄에 오류가 있습니다:

으아악

무슨 일이 일어나고 있는지 전혀 모릅니다.(

해결 방법

mustEmbedUnimplementedMessageServiceServer() 的实现。您应该使您的服务器结构嵌入 UnimplementedMessageServiceServer을 제공하면 안 됩니다. 멤버 이름은 이를 알려주기 위해 지정되었습니다. 인터페이스에는

라는 문서 주석도 있습니다.

모든 구현에는 향후 호환성을 위해 UnimplementedMessageServiceServer를 포함해야 합니다.

언젠가 gRPC 개발자가 서버 인터페이스에 새로운 방법을 추가할 수도 있다는 아이디어입니다. 이렇게 하면 서버 유형에 unimplemented 类型添加一个新方法,该方法返回“method Blah not Implemented”错误。由于您被迫将 unimplemented 유형도 포함되므로 서버 유형으로 인해 코드가 갑자기 유형 검사에 실패하는 대신 해당 메소드를 상속하고 오류를 발생시키는 기본 구현을 얻게 됩니다. 새 메소드 부족하다.

위 내용은 유형에 내보내지 않은 메서드가 있고 다른 패키지에 정의되어 있으므로 'X'를 구현할 수 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제