數據註釋是能夠運用於類或類成員的特點,以指定類之間的聯繫、描述數據怎麼在UI中顯現以及指定驗證規矩。本文評論數據註釋、為什麼數據註釋很有用以及怎麼在.NETCore應用程式中運用它們。 若要運用本文供給的代碼示例,您應該在體系中裝置VisualStudio2019。如果還沒有裝置,能夠在此處下載Vi ...
數據註釋是能夠運用於類或類成員的特點,以指定類之間的聯繫、描述數據怎麼在UI中顯現以及指定驗證規矩。本文評論數據註釋、為什麼數據註釋很有用以及怎麼在.NETCore應用程式中運用它們。
若要運用本文供給的代碼示例,您應該在體系中裝置VisualStudio2019。如果還沒有裝置,能夠在此處下載VisualStudio2019。
在VisualStudio2019中創立控制台應用程式項目
首先,無妨在VisualStudio中創立一個.NETCore控制台應用程式項目。假定體系中已裝置VisualStudio2019,按照下麵概述的步驟在VisualStudio中創立新的.NETCore控制台應用程式項目。
啟動VisualStudioIDE。
點擊“創立新項目”。
在“創立新項目”視窗中,從顯現的模板列表中挑選“控制台應用程式”。
點擊下一步。
在接下來顯現的“裝備新項目”視窗中,指定新項目的名稱和位置。
點擊創立。
這將在VisualStudio2019中創立一個新的.NETCore控制台應用程式項目。我們在本文後邊將運用該項目來處理數據註釋。
增加System.ComponentModel.DataAnnotations命名空間
想運用本文給出的代碼示例,應該將System.ComponentModel.DataAnnotations命名空間增加到您的程式。
留意,特點用於指定類或特點的元數據。數據註釋特點大致分為以下幾類:
驗證特點——用於對實體的特點施行驗證規矩。
顯現特點——用於指定數據在用戶界面中應怎麼顯現。
建模特點——用於指定類之間存在的聯繫。
C中的數據註釋示例
在前面創立的控制台應用程式中的Author.cs文件中創立以下類。
publicclassAuthor
{
publicstringFirstName{get;set;}
publicstringLastName{get;set;}
publicstringPhoneNumber{get;set;}
publicstringEmail{get;set;}
}
下列代碼片段表明晰您怎麼創立Author類的實例併為其特點賦予值。
Authorauthor=newAuthor();
author.FirstName="Joydip";
author.LastName="";
author.PhoneNumber="1234567890";
author.Email="[email protected]";
您能夠在Program.cs文件的Main辦法中編寫下列代碼片段,以驗證模型。
ValidationContextcontext=newValidationContext;
ListvalidationResults=newList();
boolvalid=Validator.TryValidateObject;
if
{
foreach
{
Console.WriteLine;
}
}
ValidationContext這個類為您供給了進行驗證所在的上下文。如果驗證成功,Validator類的TryValidateObject靜態辦法回來true,否則回來false。它還回來ValidationResults列表,詳細列出該模型未經過的一切驗證。最後,我們運用foreach迴圈來迭代處理ValidationResults列表,在控制台視窗顯現過錯音訊。
完整的代碼片段如下所示,供您參閱。
publicclassAuthor
{
publicstringFirstName{get;set;}
publicstringLastName{get;set;}
publicstringPhoneNumber{get;set;}
publicstringEmail{get;set;}
}
classProgram
{
staticvoidMain
{
Authorauthor=newAuthor();
author.FirstName="Joydip";
author.LastName="";//Novalueentered
author.PhoneNumber="1234567890";
author.Email="[email protected]";
ValidationContextcontext=newValidationContext
;
ListvalidationResults=new
List();
boolvalid=Validator.TryValidateObject
;
if
{
foreach
{
Console.WriteLine;
}
}
Console.ReadKey();
}
}
執行程式後,應該會看到控制台視窗顯現的下列過錯音訊:
LastNameisrequired
在C#中創立自界說驗證特點
想創立自界說驗證特點類,您應該擴展ValidationAttribute基礎類,並覆蓋IsValid辦法,如下列代碼片段所示。
publicclassIsEmptyAttribute:ValidationAttribute
{
publicoverrideboolIsValid
{
varinputValue=valueasstring;
return!string.IsNullOrEmpty;
}
}
下列代碼片段表明晰你怎麼能夠運用自界說特點來裝修Author類的FirstName和LastName特點。
publicstringFirstName{get;set;}
publicstringLastName{get;set;}
數據註釋最初作為System.ComponentModel.DataAnnotations命名空間的一部分而引入到.NET3.5中。此後,它已成為.NET中一種廣泛運用的功用。你能夠充分利用數據註釋在單單一處界說數據驗證規矩,因而沒必要一再重寫同樣的驗證代碼。