Aracılığıyla paylaş


Objective Sharpie Verify Öznitelikleri

Genellikle Objective Sharpie tarafından üretilen bağlamalara özniteliğiyle [Verify] ek açıklama eklendiğini göreceksiniz. Bu öznitelikler, Objective Sharpie'nin bağlamayı özgün C/Objective-C bildirimiyle karşılaştırarak (ilişkili bildirimin üzerindeki bir açıklamada sağlanacaktır) doğru şeyi yaptığını doğrulamanız gerektiğini gösterir.

Doğrulama tüm ilişkili bildirimler için önerilir, ancak büyük olasılıkla özniteliğiyle [Verify] ek açıklamalı bildirimler için gereklidir. Bunun nedeni, çoğu durumda özgün yerel kaynak kodunda bağlamanın en iyi şekilde nasıl üretileceğini çıkarsamak için yeterli meta veri olmamasıdır. En iyi bağlama kararını vermek için üst bilgi dosyalarının içindeki belgelere veya kod açıklamalarına başvurmanız gerekebilir.

Bağlamanın doğru olduğunu doğruladıktan veya doğru olması için düzeltdikten sonra, bağlamadan özniteliğini kaldırın[Verify].

Önemli

[Verify] öznitelikleri kasıtlı olarak C# derleme hatalarına neden olur, böylece bağlamayı doğrulamaya zorlanırsınız. Kodu gözden geçirdiğinizde (ve muhtemelen düzelttiğinde) özniteliğini kaldırmanız [Verify] gerekir.

İpuçları Başvurularını Doğrulama

Özniteliğine sağlanan ipucu bağımsız değişkenine aşağıdaki belgelerle çapraz başvuruda bulunabilirsiniz. Oluşturulan [Verify] öznitelikler için belgeler, bağlama tamamlandıktan sonra konsolda da sağlanacaktır.

[Verify] Ipucu Açıklama
InferredFromPreceedingTypedef Bu bildirimin adı, özgün yerel kaynak kodunda hemen öncekinden typedef ortak kural tarafından çıkarıldı. Bu kural belirsiz olduğundan, çıkarsanan adın doğru olduğunu doğrulayın.
ConstantsInterfaceAssociation Bir extern değişken bildiriminin hangi Objective-C arabirimle ilişkilendirilebileceğini belirlemenin aptalca bir yolu yoktur. Bunların örnekleri, daha sezgisel bir API oluşturmak için kısmi bir arabirimdeki özellikler olarak [Field] neredeyse somut bir arabirime bağlanır ve büyük olasılıkla 'Sabitler' arabirimini tamamen ortadan kaldırır.
MethodToProperty Parametre Objective-C almama ve değer döndürme (geçersiz olmayan dönüş) gibi bir kural nedeniyle bir yöntem C# özelliği olarak bağlanmıştı. Bunlar gibi yöntemler genellikle daha güzel bir API'yi ortaya çıkaracak özellikler olarak bağlanmalıdır, ancak bazen hatalı pozitifler oluşabilir ve bağlama aslında bir yöntem olmalıdır.
StronglyTypedNSArray NSArray* Yerel bir değer olarak NSObject[]bağlanmıştı. API belgeleri (örneğin üst bilgi dosyasındaki açıklamalar) aracılığıyla ayarlanan beklentilere göre veya test yoluyla dizi içeriğini inceleyerek bağlamaya diziyi daha güçlü bir şekilde yazmak mümkün olabilir. Örneğin, yalnızca NSNumber* örneklerini içeren bir NSArray* yerine NSObject[]olarak NSNumber[] bağlanabilir.

Ayrıca, aracı kullanarak sharpie verify-docs bir ipucuna ilişkin belgeleri de hızlı bir şekilde alabilirsiniz, örneğin:

sharpie verify-docs InferredFromPreceedingTypedef