ICommonDynamicVisible Interface
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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)) |