I'm learning how to write C# from IDL의 반환 값과 내가 얻지 못한 것은 반환 값이 [out, retval]로 매개 변수 목록에 정의 된 이유입니다. 상식은 HRESULT가 반환 형식이어야하지만 C#의 코드에는 아무런 영향을주지 않는 것으로 보입니다.IDL
Q
IDL
2
A
답변
1
COM은 예외를 지원하지 않습니다. 그것들은 매우 강력한 언어 런타임 구현 세부 사항이며 C# 예외는 C++ 예외가 아닙니다. 그것은 HRESULT를 매우 중요하게 만든다. 모든 COM 메서드는 오류 코드를 반환해야하고 음수 값은 실패를 나타냅니다.
그러나 많은 언어가 예외를 지원합니다. 언어 런타임이 실패 HRESULT를 예외로 만들도록 허용합니다. 따라서 반환 값은 더 이상 필요하지 않습니다.
형식 라이브러리 가져 오기 도구와 CLR에서 메서드 서명을 다시 작성할 수 있습니다. 유용한 반환 값을 가진 "정상적인"함수처럼 보이게 만듭니다. [retval] 속성은 이것을 나타냅니다. 그것 없이는 void를 반환하는 정상적인 메소드가됩니다.
[PreserveSig] 속성의 관련성에 대해서도 설명하고이 재 작성을 억제합니다. HRESULT가 성공을 나타 내기 위해 0 이상을 리턴 할 때 때때로 필요합니다. COM 반복자는 예를 들어 Next() method에 필요합니다.
관련 문제
- 1. IDL
- 2. 터미널의 $ idl 명령이 시작되지 않음 IDL
- 3. IDL 통합
- 4. 는 IDL
- 5. 드리프트 idl 설치
- 6. IDL 대 Python Float
- 7. Java에서 IDL 루틴 실행
- 8. Thrift IDL 목록 구문
- 9. 는 TAO IDL
- 10. CORBA IDL 해시 맵
- 11. IDL 파일의 다차원 배열?
- 12. IDL Printf 형식화
- 13. IDL/ODL을 사용하는 doxygen
- 14. idl 파일의 이상한 기호
- 15. 희귀 IDL 생성
- 16. IDL 명령 array_indices.pro
- 17. IDL 용 이클립스 플러그인
- 18. IDL 파일 크기 받기
- 19. 복수 파일에서 IDL 읽기
- 20. 인터페이스 IDL 파일을 C#
- 21. IDL 컴파일 오류
- 22. idl elseif 문제/혼란
- 23. IDL 배열의 번호를 확인하십시오.
- 24. IDL 배열에서 값 제거
- 25. IDL 생성 헤더 파일 변경
- 26. protobuf IDL -> JSON 스키마
- 27. IDL 및 XPA 상호 작용
- 28. DDS를위한 idl 모델 작성 방법
- 29. IDL 파일에서 이름 충돌이 발생합니다.
- 30. 변수가있는 bash의 IDL 프로그램 실행