IDynamicVisible 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
IDynamicVisible 介面應由任何想根據類別當前狀態限制特定 Enum 值可見性的類別實作。
如果一個類別包含一個揭露 Enum 的屬性,而該類別實作了 IDynamicVisible 介面,那麼每個具有 Enum 類型的屬性都會被呼叫。
上下文參數可用來判斷此方法被呼叫為哪個 Enum。 若類別只有一個列舉,則無需進行此檢查。
限制某些項目可見性的方法是直接從 ArrayList 值中移除不需要的 Enum 值。 這個方法會在每個列舉的下拉選單中被呼叫,因此可以隨時更改每個下拉選單的清單。 如果清單在初步確定後不會改變,快取 ArrayList 並回傳會很有幫助。
請小心不要移除 Enum 屬性已經設定的值。 這不會造成錯誤,因為所有列舉值仍然有效,但使用者點擊下拉選單時,不會看到目前的選項。
此外,不應新增值,因為這些值無法轉換為有效的 Enum 值,執行時會拋出錯誤。 如果需要更多動態控制,可以考慮使用 DynamicValues 設計。
public interface IDynamicVisible
type IDynamicVisible = interface
Public Interface IDynamicVisible
- 衍生
方法
| 名稱 | Description |
|---|---|
| ConfigureVisibleEnumFields(ITypeDescriptorContext, ArrayList) |
從值清單移除項目並返回新清單,將控制上下文中所列舉的值。 列舉可用類似以下程式碼的條件(上下文)來確定。PropertyDescriptor.PropertyType == typeof(myEnum)) |