CA2256: Semua anggota yang dinyatakan dalam antarmuka induk harus memiliki implementasi dalam antarmuka yang dikaitkan dengan DynamicInterfaceCastableImplementation

Properti Nilai
ID Aturan CA2256
Judul Semua anggota yang dideklarasikan dalam antarmuka induk harus memiliki implementasi dalam antarmuka yang diatribusikan DynamicInterfaceCastableImplementation
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

Antarmuka dengan DynamicInterfaceCastableImplementationAttribute memiliki anggota yang belum diimplementasikan.

Deskripsi aturan

Jenis yang dikaitkan dengan DynamicInterfaceCastableImplementationAttribute bertindak sebagai penerapan antarmuka untuk jenis yang menerapkan jenis IDynamicInterfaceCastable. Akibatnya, jenis tersebut harus menyediakan penerapan dari semua anggota yang ditentukan dalam antarmuka yang diwarisi, karena jenis yang mengimplementasikan IDynamicInterfaceCastable tidak akan menyediakan anggota-anggota tersebut.

Cara memperbaiki pelanggaran

Terapkan anggota antarmuka yang hilang.

Example

interface IParent
{
    void ParentMethod();
}

// This interface violates the rule.
[DynamicInterfaceCastableImplementation]
interface IBadChild : IParent
{
    static void ChildMethod()
    {
        // ...
    }
}

// This interface satisfies the rule.
[DynamicInterfaceCastableImplementation]
interface IGoodChild : IParent
{
    static void ChildMethod()
    {
        // ...
    }

    void IParent.ParentMethod()
    {
        // ...
    }
}

Kapan harus menyembunyikan kesalahan

Jangan menyembunyikan peringatan dari aturan ini.

Lihat juga