CA1420: Vlastnost, typ nebo atribut vyžaduje zařazování za běhu

Vlastnost Hodnota
ID pravidla CA1420
Název Vlastnost, typ nebo atribut vyžaduje zařazování za běhu.
Kategorie Vzájemná funkční spolupráce
Oprava způsobující chybu nebo chybu způsobující chybu Narušující
Povoleno ve výchozím nastavení v .NET 8 Jako upozornění

Příčina

Používá se funkce kódu, která vyžaduje zařazování za běhu a zařazování za běhu je explicitně zakázané.

Popis pravidla

Použití funkcí, které vyžadují zařazování za běhu při zakázání zařazování modulu runtime, způsobí výjimky za běhu.

Jak opravit porušení

Povolte zařazování za běhu nebo odeberte kód, který vyžaduje zařazování za běhu.

Kdy potlačit upozornění

Nepotlačujte upozornění z tohoto pravidla.

Příklad

Následující fragment kódu ukazuje porušení 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

Chcete-li opravit porušení, odeberte na DisableRuntimeMarshallingAttribute sestavení.