IDynamicVisible Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Die IDynamicVisible-Schnittstelle sollte von jeder Klasse implementiert werden, die die Sichtbarkeit bestimmter Enumerationswerte basierend auf dem Zustand der Klasse zu diesem Zeitpunkt einschränken möchte.
Wenn eine Klasse eine Eigenschaft enthält, die eine Enumeration verfügbar macht und diese Klasse die IDynamicVisible-Schnittstelle implementiert, wird sie für jede Eigenschaft aufgerufen, die ein Enumerationstyp ist.
Der Kontextparameter kann verwendet werden, um zu bestimmen, für welche Enumeration diese Methode aufgerufen wird. Wenn für eine Klasse nur eine Enumeration vorhanden ist, ist diese Überprüfung nicht erforderlich.
Die Möglichkeit, die Sichtbarkeit bestimmter Elemente einzuschränken, besteht darin, einfach die unerwünschten Enumerationswerte aus den Werten ArrayList zu entfernen. Diese Methode wird für jede Dropdownliste der Enumeration aufgerufen, sodass es möglich ist, die Liste für jedes und jede Dropdownliste zu ändern. Wenn sich die Liste nicht ändert, nachdem sie zunächst bestimmt wurde, zwischenspeichern die ArrayList und die Rückgabe wäre hilfreich.
Achten Sie darauf, dass Sie keine Werte entfernen, auf die die Enum-Eigenschaft bereits festgelegt ist. Dies führt nicht zu Fehlern, da alle Enumerationswerte noch gültig sind, aber wenn der Benutzer auf die Dropdownliste klickt, wird die aktuelle Auswahl nicht als Option angezeigt.
Außerdem sollten der Liste keine neuen Werte hinzugefügt werden, da diese Werte nicht in gültige Enumerationswerte konvertierbar sind und ein Fehler zur Laufzeit ausgelöst wird. Wenn eine dynamischere Steuerung erforderlich ist, sollten Sie die Verwendung des DynamicValues-Entwurfs in Betracht ziehen.
public interface IDynamicVisible
type IDynamicVisible = interface
Public Interface IDynamicVisible
- Abgeleitet
Methoden
| Name | Beschreibung |
|---|---|
| ConfigureVisibleEnumFields(ITypeDescriptorContext, ArrayList) |
Durch das Entfernen von Elementen aus der Werteliste und das Zurückgeben dieser neuen Liste werden die werte gesteuert, die in der im Kontext angegebenen Enumeration angezeigt werden. Die Enumeration kann mit Dem folgenden Code bestimmt werden, wenn (Kontext). PropertyDescriptor.PropertyType == typeof(myEnum)) |