ValidationContext 類別
包含目前正在執行之驗證處理的資訊。
繼承階層架構
System.Object
Microsoft.VisualStudio.Modeling.Validation.ValidationContext
Microsoft.VisualStudio.Modeling.Shell.VsValidationContext
命名空間: Microsoft.VisualStudio.Modeling.Validation
組件: Microsoft.VisualStudio.Modeling.Sdk.12.0 (在 Microsoft.VisualStudio.Modeling.Sdk.12.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> | 傳回快取的物件是否與存在的名稱相關 |
回頁首
備註
模型命名空間開始驗證檢查這個類別的執行個體時建立。 這個執行個體會傳遞到您的驗證檢查註冊的每個驗證方法。
使用 LogError、 LogWarning和 LogMessage 方法,每次寫入呼叫的驗證方法,您的程式碼可以記錄驗證錯誤。 這些驗證錯誤加入至 ValidationContext 物件的 CurrentViolations 屬性。
當驗證完成時,所有驗證錯誤、警告和訊息表示為 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) 成員都是安全執行緒。不保證任何執行個體成員是安全執行緒。