Bagikan melalui


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'
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.

Lihat juga