CA1420: Özellik, tür veya öznitelik için çalışma zamanı hazırlama gerekir
Özellik | Değer |
---|---|
Kural Kimliği | CA1420 |
Başlık | Özellik, tür veya öznitelik için çalışma zamanı hazırlama gerekir |
Kategori | Birlikte çalışabilirlik |
Hataya neden olan veya bozulmayan düzeltme | Yeni |
.NET 8'de varsayılan olarak etkin | Uyarı olarak |
Neden
Çalışma zamanı hazırlama gerektiren bir kod özelliği kullanılır ve çalışma zamanı hazırlama açıkça devre dışı bırakılır.
Kural açıklaması
Çalışma zamanı hazırlama devre dışı bırakıldığında çalışma zamanı hazırlama gerektiren özelliklerin kullanılması, çalışma zamanı özel durumlarına neden olur.
İhlalleri düzeltme
Çalışma zamanı hazırlamayı etkinleştirin veya çalışma zamanı hazırlama gerektiren kodu kaldırın.
Uyarıların ne zaman bastırılması gerekiyor?
Bu kuraldan bir uyarıyı gizlemeyin.
Örnek
Aşağıdaki kod parçacığı CA1420 ihlalini gösterir:
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
İhlali düzeltmek için derlemedeki öğesini DisableRuntimeMarshallingAttribute kaldırın.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin