Objective Sharpie Verify 특성

Objective Sharpie에서 생성된 바인딩에 특성이 주석으로 추가 [Verify] 되는 경우가 많습니다. 이러한 특성은 바인딩을 원래 C/Objective-C선언(바인딩된 선언 위의 주석에 제공됨)과 비교하여 Objective Sharpie가 올바른 작업을 했는지 확인해야 함을 나타냅니다.

모든 바인딩된 선언에 대해 확인이 권장되지만 특성으로 주석이 추가된 선언에는 확인이 [Verify] 필요할 가능성이 큽니다. 대부분의 경우 바인딩을 가장 잘 생성하는 방법을 유추하기 위해 원래 네이티브 소스 코드에 메타데이터가 충분하지 않기 때문입니다. 최상의 바인딩 결정을 내리려면 헤더 파일 내에서 설명서 또는 코드 주석을 참조해야 할 수 있습니다.

바인딩이 올바른지 또는 올바른 것으로 수정 했는지 확인한 후에는 바인딩에서 특성을 제거[Verify] 합니다.

Important

[Verify] 특성은 의도적으로 C# 컴파일 오류를 발생하므로 바인딩을 확인해야 합니다. 코드를 검토하고 수정했을 때 특성을 제거 [Verify] 해야 합니다.

힌트 참조 확인

특성에 제공된 힌트 인수는 아래 설명서와 상호 참조할 수 있습니다. 생성된 [Verify] 특성에 대한 설명서는 바인딩이 완료된 후 콘솔에서도 제공됩니다.

[Verify] 힌트 설명
InferredFromPreceedingTypedef 이 선언의 이름은 원래 네이티브 소스 코드 바로 앞 typedef 의 일반적인 규칙에 의해 유추되었습니다. 이 규칙이 모호하기 때문에 유추된 이름이 올바른지 확인합니다.
ConstantsInterfaceAssociation extern 변수 선언이 연결될 수 있는 Objective-C 인터페이스를 확인하는 바보 같은 방법은 없습니다. 이러한 인스턴스는 부분 인터페이스의 속성으로 [Field] 거의 구체적인 인터페이스로 바인딩되어 보다 직관적인 API를 생성하여 '상수' 인터페이스를 완전히 제거할 수 있습니다.
MethodToProperty Objective-C 메서드는 매개 변수를 사용하지 않고 값 반환(void가 아닌 반환)과 같은 규칙으로 인해 C# 속성으로 바인딩되었습니다. 이러한 메서드는 더 좋은 API를 표시하기 위해 속성으로 바인딩되어야 하지만 때로는 가양성이 발생할 수 있으며 바인딩이 실제로 메서드여야 합니다.
StronglyTypedNSArray 네이티브 NSArray* 는 .로 NSObject[]바인딩되었습니다. API 설명서(예: 헤더 파일의 주석)를 통해 설정되거나 테스트를 통해 배열 콘텐츠를 검사하여 바인딩에 배열을 보다 강력하게 입력할 수 있습니다. 예를 들어 NSNumber* 인스턴스만 포함하는 NSArray*는 대신 바인딩됩니다 NSNumber[]NSObject[].

도구를 사용하여 sharpie verify-docs 힌트에 대한 설명서를 신속하게 받을 수도 있습니다. 예를 들면 다음과 같습니다.

sharpie verify-docs InferredFromPreceedingTypedef