Objective Sharpie Verify – atributy
Často zjistíte, že vazby vytvořené Objective Sharpie budou anotovány atributem [Verify]
. Tyto atributy naznačují, že byste měli ověřit , že Objective Sharpie udělal správnou věc porovnáním vazby s původní C/Objective-C deklaraci (která bude poskytnuta v komentáři nad vázanou deklaraci).
U všech vázaných deklarací se doporučuje ověření, ale s největší pravděpodobností se vyžaduje pro deklarace anotované atributem[Verify]
. Důvodem je to, že v mnoha situacích není v původním nativním zdrojovém kódu dostatek metadat, aby bylo možné odvodit, jak nejlépe vytvořit vazbu. Možná budete muset odkazovat na dokumentaci nebo komentáře ke kódu v souborech hlaviček, aby bylo nejlepší závazné rozhodnutí.
Jakmile ověříte, že je vazba správná nebo byla opravena, aby byla správná, odeberte[Verify]
atribut z vazby.
Důležité
[Verify]
atributy záměrně způsobují chyby kompilace jazyka C#, abyste byli nuceni ověřit vazbu. Atribut byste měli odebrat [Verify]
, když jste kód zkontrolovali (a případně opravili).
Referenční informace k ověření nápovědy
Argument nápovědy zadaný atributem lze křížově odkazovat s následující dokumentací. Dokumentace pro všechny vytvořené [Verify]
atributy bude k dispozici v konzole i po dokončení vazby.
[Verify] Nápovědy |
Popis |
---|---|
InferredFromPreceedingTypedef | Název této deklarace byl odvozen společnou konvencí z bezprostředně předcházejícího typedef původního nativního zdrojového kódu. Ověřte, že odvozený název je správný, protože tato konvence je nejednoznačná. |
ConstantsInterfaceAssociation | Neexistuje žádný způsob, jak zjistit, s jakým Objective-C rozhraním může být deklarace extern proměnné přidružena. Instance jsou vázány jako [Field] vlastnosti v částečném rozhraní do blízkého konkrétního rozhraní, aby se vytvořilo intuitivnější rozhraní API, což může eliminovat "konstanty" rozhraní úplně. |
MethodToProperty | Metoda Objective-C byla vázaná jako vlastnost jazyka C# z důvodu konvence, jako je například bez parametrů a vrácení hodnoty (nevoid return). Podobné metody by se často měly vázat jako vlastnosti k vytvoření hezčího rozhraní API, ale někdy může dojít k falešně pozitivním výsledkům a vazba by měla být ve skutečnosti metodou. |
StronglyTypedNSArray | Nativní NSArray* byl vázán jako NSObject[] . V závislosti na očekáváních nastavených prostřednictvím dokumentace k rozhraní API (např. komentářů v souboru hlaviček) nebo zkoumáním obsahu pole prostřednictvím testování může být možné pole v vazbě silněji zadat. Například NSArray* obsahující pouze NSNumber* instancescan být vázán jako NSNumber[] místo NSObject[] . |
Pomocí nástroje můžete také rychle získat dokumentaci k nápovědě sharpie verify-docs
, například:
sharpie verify-docs InferredFromPreceedingTypedef