Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| 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, která může být destruktivní nebo nedestruktivní | Přerušující |
| Povoleno ve výchozím nastavení v .NET 10 | Jako upozornění |
| Příslušné jazyky | C# a Visual Basic |
Příčina
Používá se funkce kódu, která vyžaduje za běhu serializaci, a za běhu serializace je explicitně zakázána.
Popis pravidla
Použití vlastností, které vyžadují zařazování za běhu, když je zařazování za běhu zakázané, způsobí výjimky během 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í
Neignorujte upozornění z tohoto pravidla.
Příklad
Následující fragment kódu ukazuje porušení ca1420:
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[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 DisableRuntimeMarshallingAttribute ze sestavení.