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 | CA2257 |
| Judul | Anggota yang ditentukan pada antarmuka dengan 'DynamicInterfaceCastableImplementationAttribute' harus 'statis' |
| Golongan | Penggunaan |
| Perbaikan bersifat disruptif atau non-disruptif | Non-disruptif |
| Diaktifkan secara default di .NET 10 | Sebagai peringatan |
Penyebab
Anggota antarmuka tidak secara eksplisit diimplementasikan atau ditandai static.
Deskripsi aturan
Karena jenis yang mengimplementasikan IDynamicInterfaceCastable mungkin tidak menerapkan antarmuka dinamis dalam metadata, panggilan ke anggota antarmuka instans yang bukan implementasi eksplisit yang ditentukan pada jenis ini kemungkinan gagal pada runtime. Untuk menghindari kesalahan runtime, tandai anggota static antarmuka baru.
Cara memperbaiki pelanggaran
Tandai anggota staticantarmuka .
Example
[DynamicInterfaceCastableImplementation]
interface IExample
{
// This method violates the rule.
void BadMethod();
// This method satisfies the rule.
static void GoodMethod()
{
// ...
}
}
Kapan harus menyembunyikan kesalahan
Jangan menyembunyikan peringatan dari aturan ini.