CA1420: Properti, jenis, atau atribut memerlukan marshalling runtime
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 8 | 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 pengecualian run-time.
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.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
Untuk memperbaiki pelanggaran, hapus DisableRuntimeMarshallingAttribute pada rakitan.
Berkolaborasi dengan kami di GitHub
Sumber untuk konten ini dapat ditemukan di GitHub, yang juga dapat Anda gunakan untuk membuat dan meninjau masalah dan menarik permintaan. Untuk informasi selengkapnya, lihat panduan kontributor kami.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk