共用方式為


ValidationContext 類別

包含目前正在處理正在執行的驗證資訊。

繼承階層架構

System.Object
  Microsoft.VisualStudio.Modeling.Validation.ValidationContext
    Microsoft.VisualStudio.Modeling.Shell.VsValidationContext

命名空間:  Microsoft.VisualStudio.Modeling.Validation
組件:  Microsoft.VisualStudio.Modeling.Sdk.11.0 (在 Microsoft.VisualStudio.Modeling.Sdk.11.0.dll 中)

語法

'宣告
Public Class ValidationContext
public class ValidationContext

ValidationContext 型別會公開下列成員。

建構函式

  名稱 說明
公用方法 ValidationContext(array<String[], ModelElement) 初始化新的執行個體的ValidationContext有特定的模型項目來驗證的類別。
公用方法 ValidationContext(array<String[], IEnumerable<ModelElement>) Ctor
公用方法 ValidationContext(ValidationCategories, ModelElement) 建構函式
公用方法 ValidationContext(ValidationCategories, IEnumerable<ModelElement>) 建構函式

回頁首

屬性

  名稱 說明
公用屬性 Categories 取得這個驗證內容的驗證類別目錄。
公用屬性 CurrentViolations 取得驗證的內容中的驗證訊息的集合。
公用屬性 CustomCategories 取得驗證內容的自訂驗證的字串。
公用屬性 ValidationSubjects 取得要驗證的模型項目清單。

回頁首

方法

  名稱 說明
受保護的方法 ConstructValidationMessage 建構驗證訊息。您可以覆寫這個方法來建構自訂驗證訊息。
公用方法 Equals 判斷指定的物件是否等於目前物件。 (繼承自 Object)。
受保護的方法 Finalize 允許物件在記憶體回收進行回收之前,嘗試釋放資源並執行其他清除作業。 (繼承自 Object)。
公用方法 GetCache<T>() 取得指定的類別中的快取。
公用方法 GetCache<T>(String) 取得指定的類別中的快取。
公用方法 GetHashCode 做為特定型別的雜湊函式。 (繼承自 Object)。
公用方法 GetNavigationProxyModelElements Proxy 模型項目時,會得到模型中發生驗證錯誤。
公用方法 GetType 取得目前執行個體的 Type。 (繼承自 Object)。
公用方法 LogError 建立驗證錯誤並記錄訊息插入驗證內容將維持的集合。
公用方法 LogFatal 建立驗證的嚴重錯誤並驗證內容中會記錄一則訊息。
公用方法 LogMessage 建立驗證的資訊訊息並將它記錄至驗證內容將維持的集合。
公用方法 LogViolation 建立驗證錯誤、 訊息或警告。
公用方法 LogWarning 建立驗證警告並記錄訊息插入驗證內容將維持的集合。
受保護的方法 MemberwiseClone 建立目前 Object 的淺層複本 (Shallow Copy)。 (繼承自 Object)。
公用方法 SetCacheValue<T> 設定名稱相關聯的快取的物件
公用方法 ToString 傳回表示目前物件的字串。 (繼承自 Object)。
公用方法 TryGetCacheValue<T> 傳回是否快取的物件與相關聯的名稱存在與否

回頁首

備註

模型命名空間開始驗證檢查每次時,會建立這個類別的執行個體。這個執行個體傳遞至每個驗證方法,您已經註冊的驗證檢查。

呼叫您所撰寫的驗證方法時,每次您的程式碼可以驗證錯誤記錄使用LogErrorLogWarning,以及LogMessage方法。這些驗證錯誤會加入至CurrentViolations屬性的ValidationContext物件。

當驗證完成時,所有的驗證錯誤、 警告、 和訊息會顯示成集合的LogMessage中的物件CurrentViolations屬性。

ValidationContext物件接著會傳給任何後續的驗證方法。CurrentViolations屬性會包含所有錯誤、 警告和訊息最多可發生的並指向目前的驗證檢查。

在下一次該驗證啟動時,另一個ValidationContext在建立物件。該物件會傳遞至每個驗證方法,依序的錯誤、 警告和訊息當遇到新增到該物件。

如需詳細資訊,請參閱 網域指定的語言中的驗證

範例

下列範例是一種方法,以表示該項目是一種驗證方法的屬性來裝飾。

ValidationContext會傳遞至每一種驗證方法的物件會包含目前的驗證處理程序的相關資訊。這項資訊會包括錯誤、 警告和累積的郵件已經執行過的驗證方法。

ValidationContext物件有方法加入至錯誤、 警告和訊息,例如, LogError方法,如下例所示:

[ValidationMethod
(
    ValidationCategory.Open |
    ValidationCategory.Save |
    ValidationCategory.Menu
)
]
private void ValidateParentBirth(ValidationContext context)
{
    foreach (Person parent in this.Parent)
        {
        if (this.Birth <= parent.Birth)
        {
            context.LogError(
                       "Birth must be after Parent's birth",
                       "FamilyParentBirthError", 
                       this, 
                       parent);
        }
      }
}

執行緒安全

這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。不保證任何執行個體成員是安全執行緒。

請參閱

參考

Microsoft.VisualStudio.Modeling.Validation 命名空間