Share via


Regler för portabilitet och samverkan

Portabilitetsregler stöder portabilitet på olika plattformar. Samverkansregler stöder interaktion med COM-klienter.

Innehåll i det här avsnittet

Regel Beskrivning
CA1401: P/Invokes bör inte visas En offentlig eller skyddad metod i en offentlig typ har attributet System.Runtime.InteropServices.DllImportAttribute (implementeras också av nyckelordet Deklarera i Visual Basic). Sådana metoder bör inte exponeras.
CA1416: Verifiera plattformskompatibilitet Om du använder plattformsberoende API:er på en komponent fungerar koden inte längre på alla plattformar.
CA1417: Använd OutAttribute inte på strängparametrar för P/Invokes Strängparametrar som skickas av värde med OutAttribute kan destabilisera körningen om strängen är en intern sträng.
CA1418: Använd giltig plattformssträng Analysverktyg för plattformskompatibilitet kräver ett giltigt plattformsnamn och en giltig version.
CA1419: Ange en parameterlös konstruktor som är lika synlig som den innehållande typen för betongtyper som härletts från "System.Runtime.InteropServices.SafeHandle" Att tillhandahålla en parameterlös konstruktor som är lika synlig som den innehållande typen för en typ som härleds från System.Runtime.InteropServices.SafeHandle ger bättre prestanda och användning med källgenererade interop-lösningar.
CA1420: Egenskapen, typen eller attributet kräver runtime-marshalling Om du använder funktioner som kräver runtime-marshalling när runtime marshalling är inaktiverat resulterar det i körningsund undantag.
CA1421: Metoden använder runtime marshalling när DisableRuntimeMarshallingAttribute tillämpas En metod använder runtime-marshalling och runtime-marshalling inaktiveras uttryckligen.
CA1422: Verifiera plattformskompatibilitet Det rekommenderas inte att anropa ett API som är föråldrat i ett visst operativsystem (version) från en anropswebbplats som kan nås från operativsystemet (versionen).