Bagikan melalui


CA2256: Semua anggota yang dideklarasikan di antarmuka induk harus memiliki penerapan di 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
Golongan Penggunaan
Perbaikan bersifat disruptif atau non-disruptif Non-disruptif
Diaktifkan secara default di .NET 10 Sebagai peringatan

Penyebab

Antarmuka dengan DynamicInterfaceCastableImplementationAttribute anggota yang tidak 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 menerapkan IDynamicInterfaceCastable tidak akan menyediakan anggota.

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