IDynamicVisible Antarmuka

Definisi

Antarmuka IDynamicVisible harus diimplementasikan oleh kelas apa pun yang ingin membatasi visibilitas nilai Enum tertentu berdasarkan status kelas pada saat itu.

Jika kelas berisi properti yang mengekspos Enum dan kelas tersebut mengimplementasikan antarmuka IDynamicVisible, maka itu akan dipanggil untuk setiap properti yang berjenis Enum.

Param konteks dapat digunakan untuk menentukan Enum mana yang dipanggil metode ini. Jika kelas hanya memiliki satu Enum tidak perlu melakukan pemeriksaan ini.

Cara untuk membatasi visibilitas item tertentu adalah dengan hanya menghapus nilai Enum yang tidak diinginkan dari nilai ArrayList. Metode ini dipanggil pada setiap drop-down enum sehingga dimungkinkan untuk mengubah daftar pada setiap menu drop-down. Jika daftar tidak akan berubah setelah awalnya ditentukan penembolokan ArrayList dan mengembalikannya akan berguna.

Perawatan harus dilakukan untuk memastikan bahwa Anda tidak menghapus nilai yang sudah diatur properti Enum. Ini tidak akan menyebabkan kesalahan karena semua nilai Enum masih valid tetapi ketika pengguna mengklik dropdown, mereka tidak akan melihat pilihan saat ini sebagai opsi.

Juga tidak ada nilai baru yang harus ditambahkan ke daftar karena nilai-nilai ini tidak akan dapat dikonversi ke nilai Enum yang valid dan kesalahan akan dilemparkan pada runtime. Jika kontrol yang lebih dinamis diperlukan, pertimbangkan untuk menggunakan desain DynamicValues.

public interface IDynamicVisible
type IDynamicVisible = interface
Public Interface IDynamicVisible
Turunan

Metode

Nama Deskripsi
ConfigureVisibleEnumFields(ITypeDescriptorContext, ArrayList)

Menghapus item dari daftar nilai dan mengembalikan daftar baru tersebut akan mengontrol nilai yang diperlihatkan dalam Enum yang ditentukan dalam konteks.

Enum dapat ditentukan dengan kode yang mirip dengan yang berikut jika (konteks. PropertyDescriptor.PropertyType == typeof(myEnum))

Berlaku untuk