CA2257: Anggota yang ditentukan pada antarmuka dengan 'DynamicInterfaceCastableImplementationAttribute' harus 'statis'

Properti Nilai
ID Aturan CA2257
Judul Anggota yang ditentukan pada antarmuka dengan 'DynamicInterfaceCastableImplementationAttribute' harus 'statis'
Kategori Penggunaan
Perbaikan bersifat merusak atau tidak merusak Tidak terputus
Diaktifkan secara default di .NET 10 Sebagai peringatan
Bahasa yang berlaku C# dan Visual Basic

Penyebab

Anggota interface tidak diimplementasikan atau ditandai secara eksplisit 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.

Lihat juga