CA1420: Voor eigenschap, type of kenmerk is runtime-marshalling vereist
Eigenschappen | Weergegeven als |
---|---|
Regel-id | CA1420 |
Titel | Voor eigenschap, type of kenmerk is runtime-marshalling vereist |
Categorie | Interoperabiliteit |
Oplossing is brekend of niet-brekend | Breken |
Standaard ingeschakeld in .NET 9 | Als waarschuwing |
Oorzaak
Er wordt een codefunctie gebruikt waarvoor runtime-marshalling is vereist en runtime-marshalling expliciet is uitgeschakeld.
Beschrijving van regel
Het gebruik van functies waarvoor runtime-marshalling is vereist wanneer runtime marshalling is uitgeschakeld, leidt tot runtime-uitzonderingen.
Schendingen oplossen
Schakel runtime-marshalling in of verwijder de code waarvoor runtime-marshalling is vereist.
Wanneer waarschuwingen onderdrukken
Een waarschuwing van deze regel niet onderdrukken.
Opmerking
Het volgende codefragment toont een schending van CA1420:
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
[assembly: DisableRuntimeMarshalling]
class C
{
// Violates rule CA1420.
[DllImport("NativeLibrary", SetLastError = true)]
public static extern void MyMethod ();
}
Imports System.Runtime.InteropServices
Imports System.Runtime.CompilerServices
<Assembly: DisableRuntimeMarshalling>
Class C
' Violates rule CA1420.
<DllImport("NativeLibrary", SetLastError:=True)>
Public Shared Sub MyMethod()
'...
End Sub
End Class
Als u de schending wilt oplossen, verwijdert u de DisableRuntimeMarshallingAttribute assembly.
Werk met ons samen op GitHub
De bron voor deze inhoud vindt u op GitHub, waar u ook problemen en pull-aanvragen kunt maken en bekijken. Raadpleeg onze gids voor inzenders voor meer informatie.