CA1420: A tulajdonság, típus vagy attribútum futásidejű rendezést igényel

Tulajdonság Érték
Szabályazonosító CA1420
Cím A tulajdonság, típus vagy attribútum futásidejű rendezést igényel
Kategória Együttműködési lehetőség
A javítás kompatibilitástörő vagy nem törik Törés
Alapértelmezés szerint engedélyezve a .NET 8-ban Figyelmeztetésként

Ok

Olyan kódfunkciót használunk, amely futásidejű rendezést igényel, a futtatókörnyezet-rendezés pedig kifejezetten le van tiltva.

Szabály leírása

Az olyan funkciók használata, amelyek futásidejű rendezést igényelnek, amikor a futásidejű rendezés le van tiltva, futásidejű kivételeket eredményez.

Szabálysértések kijavítása

Engedélyezze a futtatókörnyezetek rendezését, vagy távolítsa el a futtatókörnyezet-rendezést igénylő kódot.

Mikor kell letiltani a figyelmeztetéseket?

Ne tiltsa el a szabály figyelmeztetését.

Példa

A következő kódrészlet a CA1420 megsértését mutatja be:

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

A szabálysértés kijavításához távolítsa el a DisableRuntimeMarshallingAttribute szerelvényt.