Langue

ICommonDynamicVisible Interface

Définition

L’interface ICommonDynamicVisible doit être implémentée par n’importe quelle classe qui souhaite limiter la visibilité de certaines valeurs Enum en fonction de l’état de la classe à ce moment-là.

Si une classe contient une propriété qui expose une énumération et que cette classe implémente l’interface ICommonDynamicVisible, elle sera appelée pour chaque propriété d’un type Enum.

L’analyseur de contexte peut être utilisé pour déterminer pour quelle méthode Enum cette méthode est appelée. Si une classe n’a qu’une seule énumération, il n’est pas nécessaire d’effectuer cette vérification.

La façon de limiter la visibilité de certains éléments consiste simplement à supprimer les valeurs d’énumération indésirables des valeurs ArrayList. Cette méthode est appelée sur chaque liste déroulante de l’énumération afin qu’il soit possible de modifier la liste sur chaque liste déroulante. Si la liste ne change pas une fois qu’elle a été initialement déterminée en mettant en cache ArrayList et en retournant celle-ci, il serait utile.

Veillez à ce que vous ne supprimiez pas les valeurs sur lesquelles la propriété Enum est déjà définie. Cela n’entraîne aucune erreur, car toutes les valeurs Enum sont toujours valides, mais lorsque l’utilisateur clique sur la liste déroulante, il ne voit pas le choix actuel comme option.

De plus, aucune nouvelle valeur ne doit être ajoutée à la liste, car ces valeurs ne seront pas convertibles en valeurs Enum valides et une erreur sera levée au moment de l’exécution. Si un contrôle plus dynamique est nécessaire, envisagez d’utiliser la conception DynamicValues.

public interface ICommonDynamicVisible
type ICommonDynamicVisible = interface
Public Interface ICommonDynamicVisible

Méthodes

Nom Description
ConfigureVisibleEnumFields(ITypeDescriptorContext, ArrayList)

La suppression d’éléments de la liste de valeurs et le renvoi de cette nouvelle liste contrôleront les valeurs affichées dans l’énumération spécifiée dans le contexte.

L’énumération peut être déterminée avec du code similaire à ce qui suit si (contexte). PropertyDescriptor.PropertyType == typeof(myEnum))

S’applique à