Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Często okaże się, że powiązania utworzone przez funkcję Objective Sharpie będą oznaczone adnotacjami z atrybutem [Verify] . Te atrybuty wskazują, że należy sprawdzić , czy objective Sharpie zrobił prawidłową rzecz, porównując powiązanie z oryginalną deklaracją C/Objective-C (która zostanie podana w komentarzu powyżej deklaracji powiązanej).
Weryfikacja jest zalecana dla wszystkich deklaracji powiązanych, ale najprawdopodobniej jest wymagana w przypadku deklaracji z adnotacjami z atrybutem [Verify] . Wynika to z faktu, że w wielu sytuacjach nie ma wystarczającej ilości metadanych w oryginalnym natywnym kodzie źródłowym, aby wywnioskować, jak najlepiej utworzyć powiązanie. W celu podjęcia najlepszej decyzji dotyczącej powiązania może być konieczne odwołanie się do dokumentacji lub komentarzy kodu w plikach nagłówków.
Po zweryfikowaniu, że powiązanie jest poprawne lub naprawiono, aby było poprawne, usuń[Verify] atrybut z powiązania.
Ważne
[Verify] atrybuty celowo powodują błędy kompilacji języka C#, aby można było zweryfikować powiązanie. Należy usunąć [Verify] atrybut podczas przeglądania (i ewentualnie poprawionego) kodu.
Weryfikowanie odwołań wskazówek
Argument wskazówki dostarczony do atrybutu może być przywoływane krzyżowo z poniższą dokumentacją. Dokumentacja wszystkich utworzonych [Verify] atrybutów zostanie udostępniona w konsoli programu , a także po zakończeniu powiązania.
[Verify] Wskazówka |
opis |
|---|---|
| InferredFromPreceedingTypedef | Nazwa tej deklaracji została wywnioskowana przez wspólną konwencję bezpośrednio poprzednią typedef w oryginalnym natywnym kodzie źródłowym. Sprawdź, czy wywnioskowana nazwa jest poprawna, ponieważ ta konwencja jest niejednoznaczna. |
| ConstantsInterfaceAssociation | Nie ma możliwości określenia, z którym Objective-C interfejsem może być skojarzona deklaracja zmiennej extern. Wystąpienia tych elementów są powiązane jako [Field] właściwości w interfejsie częściowym w interfejsie zbliżonym do konkretnego w celu utworzenia bardziej intuicyjnego interfejsu API, co może całkowicie wyeliminować interfejs "Stałe". |
| MethodToProperty | Metoda Objective-C została powiązana jako właściwość języka C# ze względu na konwencję, taką jak brak parametrów i zwracanie wartości (zwracanie wartości niepustej). Często metody podobne do tych powinny być powiązane jako właściwości, aby uwidocznić interfejs API nicer, ale czasami mogą wystąpić fałszywie dodatnie, a powiązanie powinno być rzeczywiście metodą. |
| SilnietypoweNSArray | Natywny NSArray* był powiązany jako NSObject[]. Może być możliwe bardziej silne wpisywanie tablicy w powiązaniu na podstawie oczekiwań ustawionych za pomocą dokumentacji interfejsu API (np. komentarzy w pliku nagłówka) lub przez sprawdzenie zawartości tablicy przez testowanie. Na przykład NSArray* zawierający tylko NSNumber* wystąpieniascan być powiązane jako NSNumber[] zamiast NSObject[]. |
Możesz również szybko otrzymywać dokumentację dotyczącą wskazówek przy użyciu sharpie verify-docs narzędzia, na przykład:
sharpie verify-docs InferredFromPreceedingTypedef