IDynamicVisible インターフェイス

定義

IDynamicVisible インターフェイスは、その時点のクラスの状態に基づいて特定の Enum 値の可視性を制限する任意のクラスによって実装する必要があります。

クラスに Enum を公開するプロパティが含まれており、そのクラスが IDynamicVisible インターフェイスを実装している場合は、Enum 型の各プロパティに対して呼び出されます。

コンテキスト パラメーターを使用して、このメソッドが呼び出されている列挙型を決定できます。 クラスに Enum が 1 つしかない場合は、このチェックを行う必要はありません。

特定の項目の可視性を制限する方法は、配列リストの値から不要な列挙型の値を削除することです。 このメソッドは、列挙のドロップダウンごとに呼び出されるため、ドロップダウンごとにリストを変更できます。 最初に ArrayList をキャッシュして返すと、リストが変更されない場合は役に立ちます。

Enum プロパティが既に設定されている値を削除しないように注意する必要があります。 すべての列挙値がまだ有効であるため、エラーは発生しませんが、ユーザーがドロップダウンをクリックすると、現在の選択肢はオプションとして表示されません。

また、これらの値は有効な Enum 値に変換されず、実行時にエラーがスローされるため、新しい値をリストに追加する必要はありません。 より多くの動的制御が必要な場合は、DynamicValues 設計の使用を検討してください。

public interface IDynamicVisible
type IDynamicVisible = interface
Public Interface IDynamicVisible
派生

メソッド

名前 説明
ConfigureVisibleEnumFields(ITypeDescriptorContext, ArrayList)

値リストから項目を削除し、その新しいリストを返すと、コンテキストで指定された Enum に表示される値が制御されます。

列挙型は、次のようなコードを使用して決定できます (コンテキスト。PropertyDescriptor.PropertyType == typeof(myEnum))

適用対象