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, atribut, atau jenis memerlukan pemrograman marshaling pada waktu runtime |
| Kategori | Interoperabilitas |
| Perbaikan bersifat merusak atau tidak merusak | Merusak |
| Diaktifkan secara default di .NET 10 | Sebagai peringatan |
| Bahasa yang berlaku | C# dan Visual Basic |
Penyebab
Fitur kode yang digunakan memerlukan marshalling runtime, namun marshalling runtime telah dinonaktifkan secara eksplisit.
Deskripsi aturan
Menggunakan fitur yang memerlukan marshalling runtime saat marshalling runtime dinonaktifkan akan mengakibatkan terjadi pengecualian runtime.
Cara memperbaiki pelanggaran
Aktifkan pemrosesan marshalling secara runtime atau hapus kode yang memerlukannya.
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 dari modul.