Linguaggio

ICommonDynamicVisible Interfaccia

Definizione

L'interfaccia ICommonDynamicVisible deve essere implementata da qualsiasi classe che vuole limitare la visibilità di determinati valori Enum in base allo stato della classe in quel momento.

Se una classe contiene una proprietà che espone un'enumerazione e tale classe implementa l'interfaccia ICommonDynamicVisible, verrà chiamata per ogni proprietà di un tipo Enum.

Il parametro di contesto può essere usato per determinare per quale enumerazione viene chiamato questo metodo. Se una classe ha solo un'enumerazione, non è necessario effettuare questa verifica.

Il modo per limitare la visibilità di determinati elementi consiste nel rimuovere semplicemente i valori di enumerazione indesiderati dai valori ArrayList. Questo metodo viene chiamato in ogni elenco a discesa dell'enumerazione in modo che sia possibile modificare l'elenco in ogni elenco a discesa. Se l'elenco non cambierà dopo che è stato inizialmente determinato la memorizzazione nella cache di ArrayList e la restituzione sarebbe utile.

Prestare attenzione a assicurarsi di non rimuovere valori su cui la proprietà Enum sia già impostata. Questo non causerà errori perché tutti i valori di Enumerazione sono ancora validi, ma quando l'utente fa clic sull'elenco a discesa non visualizzerà la scelta corrente come opzione.

Non è inoltre necessario aggiungere nuovi valori all'elenco perché questi valori non saranno convertibili in valori Enum validi e verrà generato un errore in fase di esecuzione. Se è necessario un controllo più dinamico, è consigliabile usare la progettazione DynamicValues.

public interface ICommonDynamicVisible
type ICommonDynamicVisible = interface
Public Interface ICommonDynamicVisible

Metodi

Nome Descrizione
ConfigureVisibleEnumFields(ITypeDescriptorContext, ArrayList)

La rimozione di elementi dall'elenco dei valori e la restituzione del nuovo elenco controlla i valori visualizzati nell'enumerazione specificata nel contesto.

L'enumerazione può essere determinata con codice simile al seguente se (contesto. PropertyDescriptor.PropertyType == typeof(myEnum))

Si applica a