Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
| Properti | Nilai |
|---|---|
| ID Aturan | CA1420 |
| Judul | Properti, jenis, atau atribut memerlukan marshalling runtime |
| Golongan | Interoperabilitas |
| Perbaikan bersifat disruptif atau non-disruptif | Merusak |
| Diaktifkan secara default di .NET 10 | Sebagai peringatan |
Penyebab
Fitur kode digunakan yang memerlukan marshalling runtime, dan marshalling runtime dinonaktifkan secara eksplisit.
Deskripsi aturan
Menggunakan fitur yang memerlukan marshalling runtime saat marshalling runtime dinonaktifkan akan mengakibatkan terjadi pengecualian runtime.
Cara memperbaiki pelanggaran
Aktifkan marshalling runtime atau hapus kode yang memerlukan marshalling runtime.
Kapan harus menekan peringatan
Jangan menekan peringatan dari aturan ini.
Contoh
Cuplikan kode berikut menunjukkan pelanggaran 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
Untuk memperbaiki pelanggaran, hapus DisableRuntimeMarshallingAttribute pada rakitan.