C# 常用的一些內置特性(Attribute)



常用數據校驗特性可以查看 System.ComponentModel.DataAnnotations 命名空間

AssociatedMetadataTypeTypeDescriptionProvider

通過添加在關聯類中定義的特性和屬性信息,從而擴展某個類的元數據信息。

AssociationAttribute

指定實體成員表示數據關系(如外鍵關系)。

CompareAttribute

提供用於比較兩個屬性的特性。

ConcurrencyCheckAttribute

指定屬性參與樂觀並發檢查。

CreditCardAttribute

指定數據字段值是信用卡號。

CustomValidationAttribute

指定用於驗證屬性或類實例的自定義驗證方法。

DataTypeAttribute

指定要與數據字段關聯的其他類型的名稱。

DisplayAttribute

提供允許為實體分部類的類型和成員指定可本地化字符串的通用特性。

DisplayColumnAttribute

指定作為外鍵列顯示在被引用表中的列。

DisplayFormatAttribute

指定 ASP.NET 動態數據如何顯示數據字段以及如何設置數據字段的格式。

EditableAttribute

指示數據字段是否可編輯。

EmailAddressAttribute

驗證電子郵件地址。

EnumDataTypeAttribute

啟用 .NET 枚舉,以映射到數據列。

FileExtensionsAttribute

驗證文件擴展名。

FilterUIHintAttribute

表示用於指定列的篩選行為的特性。

KeyAttribute

表示唯一標識實體的一個或多個屬性。

MaxLengthAttribute

指定屬性中允許的數組或字符串數據的最大長度。

MetadataTypeAttribute

指定要與數據模型類關聯的元數據類。

MinLengthAttribute

指定屬性中允許的數組或字符串數據的最小長度。

PhoneAttribute

指定數據字段值是格式標准的電話號碼。

RangeAttribute

為數據字段的值指定數值范圍約束。

RegularExpressionAttribute

指定 ASP.NET 動態數據中的數據字段值必須與指定的正則表達式匹配。

RequiredAttribute

指定數據字段值是必需的。

ScaffoldColumnAttribute

指定類或數據列是否使用基架。

StringLengthAttribute

指定數據字段中允許的字符的最小長度和最大長度。

TimestampAttribute

列的數據類型指定為行版本。

UIHintAttribute

指定動態數據用來顯示數據字段的模板或用戶控件。

UrlAttribute

提供 URL 驗證。

ValidationAttribute

充當所有驗證特性的基類。

ValidationContext

描述執行驗證檢查的上下文。

ValidationException

表示在使用 ValidationAttribute 類的情況下驗證數據字段時發生的異常。

ValidationResult

表示驗證請求的結果的容器。

Validator

定義一個幫助器類,在與對象、屬性和方法關聯的 ValidationAttribute 特性中包含此類時,可使用此類來驗證這些項。


補充一些

Required 這個特性是告訴別人這個字段是必須的
Description 添加一個描述信息 Flags 常用於枚舉

Obsolete   被該特性標注的方法,在使用過程中會被提示已經棄用,給調用者一個提示。在大型項目中普遍用於新方法代替舊方法 

Conditional("DEBUG"),表示這個方法在debug下是執行的,在release下是不執行的 CallerFilePath,CallerLineNumber,CallerMemberName 調用者信息特性,返回調用該方法的文件、所在行數、以及方法名稱,我們在vs中,直接選中方法,點擊Shift + F12 vs會列出所有調用過該方法的位置 DebuggerStepThrough 在代碼 打斷點 調試 過程中,不進入該方法,一般加在不可能有錯誤的方法中,方便調試 Serializable 標記某類可序列化,序列化與反序列化一般在本地儲存、網絡傳輸的時候才會使用,當我們想把處於內存中的對象保存在本地或者網絡傳輸的時候,需要先將其序列化,在目的地或者重新使用的時候,再將其反序列化 Nonserialized 不允許序列化,在被標注為Serializable序列化的類中,某字段前加Nonserialized,表示該字段不允許序列化 [DllImport("coredll.dll", EntryPoint = "ShowWindow")] 從非托管 DLL 導出的函數進行調用所必需的信息 要調用的dll coredll.dll EntryPoint 代表入口點 public static extern int ShowWindow(int hwnd, int nCmdShow);函數的定義信息



 最后自己實現一個特性

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM