Dela via


Regler för portabilitet och samverkan

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

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 (även implementerat 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 inte OutAttribute på strängparametrar för P/Invokes Strängparametrar som skickas genom värde med OutAttribute kan destabilisera körningsmiljön om strängen är en intern sträng.
CA1418: Använd giltig plattformssträng Plattformskompatibilitetsanalys kräver ett giltigt plattformsnamn och en giltig version.
CA1419: Ange en parameterlös konstruktor som har samma synlighet som den innehållande typen för konkreta typer 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: Egenskap, typ eller attribut kräver körningstidmarshaling Om du använder funktioner som kräver runtime-marshalling när runtime-marshalling inaktiveras resulterar det i körningsundatag.
CA1421: Metoden använder runtime-marshalling när DisableRuntimeMarshallingAttribute tillämpas En metod använder runtime-marshalling och runtime-marshalling är uttryckligen inaktiverad.
CA1422: Verifiera plattformskompatibilitet Det rekommenderas inte att anropa ett API som är föråldrat i ett visst operativsystem (version) från en anropsplats som kan nås från operativsystemet (versionen).