文章持续补充中

特性并不是集中在某一命名空间中,而是不同的特性在不同的命名空间下,特性是某一命名空间下提供的语法糖。

有哪些命名空间提供特性:

命名空间   描述
Microsoft.Build.Framework 包含定义任务和记录器与 MSBuild 引擎的交互方式的类型
Microsoft.JScript 包含支持使用 JScript 语言编译和生成代码的类
Microsoft.SqlServer.Server  
Microsoft.VisualBasic  
Microsoft.Vsa  
System.Activities  
System.ComponentModel  
System.ComponentModel.DataAnnotations  
   

Microsoft.Build.Framework

包含定义任务和记录器与 MSBuild 引擎的交互方式的类型.

特性

描述

LoadInSeparateAppDomainAttribute

定义一个元数据特性,MSBuild 使用此特性来标识必须在其自己的应用程序域中执行的任务。

OutputAttribute  定义任务作者用来标识从任务输出数据的任务属性的元数据特性
 RequiredAttribute  定义任务作者用来标识所需的任务属性的元数据特性。 当运行任务时,具有此特性的任务属性必须具有已设置好的值。
 RequiredRuntimeAttribute  定义任务作者用于标识任务是否求特定版本的 CLR 运行时的元数据特性。
RunInMTAAttribute 此特性用于将一个任务类标记为不显式要求在 COM 的 STA 中运行
RunInSTAAttribute 此特性用于将一个任务类标记为必须在 COM 的单线程单元中运行。

System.ComponentModel.DataAnnotations

官方的描述是 命名空间提供定义 ASP.NET MVC 和 ASP.NET 数据控件的类的特性。

这个是我们在网站开发时经常遇到的。在实际使用中,我们可以在控制台、Winform 等项目的 Model 中加此特性,控制属性输入。然而并不是说在控制台也是也能生效,只是能够用到。后面会解释到。

此命名空间的特性包含 [Required]、[Response]、[Phone] 等 ASP.NET Core 数据验证常用的特性。

AssociatedMetadataTypeTypeDescriptionProvider

通过添加在关联类中定义的特性和属性信息,从而扩展某个类的元数据信息。

AssociationAttribute

指定实体成员表示数据关系(如外键关系)。

BindableTypeAttribute

指定类型是否通常用于绑定。

CompareAttribute

提供用于比较两个属性的特性。

ConcurrencyCheckAttribute

指定属性参与乐观并发检查。

CreditCardAttribute

指定数据字段值是信用卡号。

CustomValidationAttribute

指定用于验证属性或类实例的自定义验证方法。

DataTypeAttribute

指定要与数据字段关联的其他类型的名称。

DisplayAttribute

提供允许为实体分部类的类型和成员指定可本地化字符串的通用特性。

DisplayColumnAttribute

指定作为外键列显示在被引用表中的列。

DisplayFormatAttribute

指定 ASP.NET 动态数据如何显示数据字段以及如何设置数据字段的格式。

EditableAttribute

指示数据字段是否可编辑。

EmailAddressAttribute

验证电子邮件地址。

EnumDataTypeAttribute

启用 .NET Framework 枚举,以映射到数据列。

FileExtensionsAttribute

验证文件扩展名。

FilterUIHintAttribute

表示用于指定列的筛选行为的特性。

KeyAttribute

表示唯一标识实体的一个或多个属性。

MaxLengthAttribute

指定属性中允许的数组或字符串数据的最大长度。

MetadataTypeAttribute

指定要与数据模型类关联的元数据类。

MinLengthAttribute

指定属性中允许的数组或字符串数据的最小长度。

PhoneAttribute

指定数据字段值是格式标准的电话号码。

RangeAttribute

为数据字段的值指定数值范围约束。

RegularExpressionAttribute

指定 ASP.NET 动态数据中的数据字段值必须与指定的正则表达式匹配。

RequiredAttribute

指定数据字段值是必需的。

ScaffoldColumnAttribute

指定类或数据列是否使用基架。

ScaffoldTableAttribute

指定类或数据表是否使用基架。

StringLengthAttribute

指定数据字段中允许的字符的最小长度和最大长度。

TimestampAttribute

列的数据类型指定为行版本。

UIHintAttribute

指定动态数据用来显示数据字段的模板或用户控件。

UrlAttribute

提供 URL 验证。

ValidationAttribute

充当所有验证特性的基类。

ValidationContext

描述执行验证检查的上下文。

ValidationException

表示在使用 ValidationAttribute 类的情况下验证数据字段时发生的异常。

ValidationResult

表示验证请求的结果的容器。

Validator

定义一个帮助器类,在与对象、属性和方法关联的 ValidationAttribute 特性中包含此类时,可使用此类来验证这些项。


System.ComponentModel

AmbientValueAttribute

指定要传递给属性的值,以使该属性从另一个源中获取其值。 这称为“环境”。 此类不能被继承。

AttributeProviderAttribute

启用特性重定向。 此类不能被继承。

BindableAttribute

指定成员是否通常用于绑定。 此类不能被继承。

CategoryAttribute

指定当属性或事件显示在一个设置为“按分类顺序”模式的 PropertyGrid 控件中时,用于对属性或事件分组的类别的名称。

BrowsableAttribute

指定某一属性或事件是否应在“属性”窗口中显示

ComplexBindingPropertiesAttribute

指定一个组件的数据源和数据成员属性,该组件支持复杂数据绑定。 此类不能被继承

DataObjectAttribute

将某一类型标识为适合绑定到 ObjectDataSource 对象的对象。 此类不能被继承。

DataObjectFieldAttribute

为表示数据字段的属性提供元数据。 此类不能被继承。

DataObjectMethodAttribute

标识由某一类型公开的数据操作方法,该方法所执行的操作类型以及该方法是否是默认的数据方法。 此类不能被继承。

DefaultBindingPropertyAttribute

指定组件的默认绑定属性。 此类不能被继承。

DefaultEventAttribute

指定组件的默认事件。

DefaultPropertyAttribute

指定组件的默认属性。

DefaultValueAttribute

指定属性的默认值。

DescriptionAttribute

指定属性或事件的说明。

DesignerAttribute

指定用于为组件实现设计时服务的类。

DesignerCategoryAttribute

指定类设计器属于某一类别。

DesignerSerializationVisibilityAttribute

指定在设计时序列化组件上的属性时所使用的持久性类型。

DesignOnlyAttribute

指定某个属性是否只能在设计时设置。

DesignTimeVisibleAttribute

DesignTimeVisibleAttribute 标记组件的可见性。 如果存在 Yes,可视化设计器即可在设计器上显示该组件。

DisplayNameAttribute

指定属性、事件或不采用任何参数的公共 void 方法的显示名称。

EditorAttribute

指定用于更改属性的编辑器。 此类不能被继承。

EditorBrowsableAttribute

指定可在编辑器中查看的属性或方法。 此类不能被继承。

ExtenderProvidedPropertyAttribute

指定由扩展程序提供程序提供的属性。 此类不能被继承。

ImmutableObjectAttribute

指定对象没有可以被编辑的子属性。 此类不能被继承。

InheritanceAttribute

指示是否已从基类继承与此特性关联的组件。 此类不能被继承。

InitializationEventAttribute

指定在初始化时引发的事件。 此类不能被继承。

InstallerTypeAttribute

为安装组件的类型指定安装程序。

LicenseProviderAttribute

指定要与类一起使用的 LicenseProvider。 此类不能被继承。

ListBindableAttribute

指定列表可被用作数据源。 可视化设计器应该使用该特性来确定是否在数据绑定选择器中显示特定的列表。 此类不能被继承。

LocalizableAttribute

指定是否应本地化某一属性。 此类不能被继承。

LookupBindingPropertiesAttribute

指定支持基于查找的绑定的属性。 此类不能被继承。

MergablePropertyAttribute

指定该属性能与“属性”窗口中属于其他对象的属性组合。

NotifyParentPropertyAttribute

指示当此特性应用到的属性的值被修改时,通知父属性。 此类不能被继承。

ParenthesizePropertyNameAttribute

指示关联属性的名称在“属性”窗口中显示时是否带有括号。 此类不能被继承。

PasswordPropertyTextAttribute

指示对象的文本表示形式被星号等字符隐匿。 此类不能被继承。

PropertyFilterAttribute

指定哪些属性应由类型描述符报告,尤其是 GetProperties(Object) 方法。

PropertyTabAttribute

标识要为指定的类显示的属性选项卡。

ProvidePropertyAttribute

指定 IExtenderProvider 的实施者提供给其他组件的属性的名称。 无法继承此类

ReadOnlyAttribute

指定该特性所绑定到的属性是只读属性还是读/写属性。 无法继承此类

RecommendedAsConfigurableAttribute

指定该属性可以用作应用程序设置。

RefreshPropertiesAttribute

指示关联的属性值更改时应刷新属性网格。 此类不能被继承。

RunInstallerAttribute

指定在安装程序集时是否应调用 Visual Studio 自定义操作安装程序或 Installutil.exe (安装程序工具)

SettingsBindableAttribute

指定何时可将组件属性绑定到应用程序设置。

ToolboxItemAttribute

表示工具箱项的特性。

ToolboxItemFilterAttribute

为工具箱项指定要使用的筛选器字符串和筛选器类型。

TypeConverterAttribute

指定对于此属性绑定到的对象要使用哪种类型作为转换器。

TypeDescriptionProviderAttribute

指定类的自定义类型说明提供程序。 此类不能被继承。


C#所有特性派生类及其详细解释、使用方法地址

下面列举了C#的所有特性类

C# 所有特性,特性所在命名空间,那些命名空间拥有特性类的更多相关文章

  1. 精进不休 .NET 4.5 (12) - ADO.NET Entity Framework 6.0 新特性, WCF Data Services 5.6 新特性

    [索引页][源码下载] 精进不休 .NET 4.5 (12) - ADO.NET Entity Framework 6.0 新特性, WCF Data Services 5.6 新特性 作者:weba ...

  2. XAML 命名空间和命名空间映射

    本主题将介绍大部分 XAML 文件的根元素中存在的 XML/XAML 命名空间 (xmlns) 映射.它还将介绍如何为自定义类型和程序集生成类似的映射. XAML 命名空间如何与代码定义和类型库相关 ...

  3. PHP命名空间与自动加载类详解

    本文实例讲述了PHP命名空间与自动加载类.分享给大家供大家参考,具体如下: 今天我要给大家介绍的是PHP的命名空间 和 自动加载类 我先简单的分开演示 在放在一起 大家请看:什么是自动加载类? 想必大 ...

  4. 【2.0新特性】Spring Boot 2.0新特性

    以Java 8 为基准 Spring Boot 2.0 要求Java 版本必须8以上, Java 6 和 7 不再支持. 内嵌容器包结构调整 为了支持reactive使用场景,内嵌的容器包结构被重构了 ...

  5. C#利用反射+特性实现简单的实体映射数据库操作类

    附上源代码: using System; using System.Collections.Generic; using System.Data; using System.Linq; using S ...

  6. 命名空间System.Threading命名空间的同步锁 Monitor类

    官方备注: Monitor类通过向单个线程授予对象所来控制对对象的访问.对象所提供限制访问代码块的能力.当一个线程拥有对象的锁时,其他任何线程都不能获取该锁.还可以使用Monitor来确保不会允许其他 ...

  7. JAXB命名空间及命名空间前缀处理

    本篇介绍下JAXB进阶使用,命名空间处理 使用package-info.java添加默认命名空间在需要添加命名空间的包下面添加package-info.java文件,然后添加@XmlSchema注解, ...

  8. iOS开发——新特性OC篇&Swift 2.0新特性

    Swift 2.0新特性     转眼间,Swift已经一岁多了,这门新鲜.语法时尚.类型安全.执行速度更快的语言已经渐渐的深入广大开发者的心.我同样也是非常喜爱这门新的编程语言. 今年6月,一年一度 ...

  9. Asp.Net MVC4新特性指南(2):新特性介绍

       上一章讲解了最基本的MVC4说明.今天就介绍下几种新特性的使用例子:   就当大家有MVC3的基础了.在这个基础上在看下面的介绍就容易多了.1.Web API MVC4包括一个更好的解决方案:A ...

随机推荐

  1. VS2013 项目项目安装和部署

    版权声明:本文为博主原创文章,未经博主允许不得转载. 1.release 模式下生成项目 2.解决方案   右键  添加   新建项目 其他项目类型 安装和部署 3.操作前将待打包项目发布路径指向上述 ...

  2. Func的介绍——c#封装的代理

    经常看到  Func<int, bool>...这样的写法,看到这样的就没有心思看下去了.我们学技术还是需要静下心来. 对Func<int,bool>的Func转到定义看它的解 ...

  3. .net core 2.2 部署CentOS7(3)安装Xshell操控CentOS7

    目录: .net core 2.2 部署CentOS7(1)安装虚拟机 .net core 2.2 部署CentOS7(2)给虚拟机安装CentOS7 .net core 2.2 部署CentOS7( ...

  4. Java中Date与String的相互转换

    我们在注册网站的时候,往往需要填写个人信息,如姓名,年龄,出生日期等,在页面上的出生日期的值传递到后台的时候是一个字符串,而我们存入数据库的时候确需要一个日期类型,反过来,在页面上显示的时候,需要从数 ...

  5. Java基础教程(12)--深入理解类

    一.方法的返回值   当我们在程序中调用方法时,虚拟机将会跳转到对应的方法中去执行.当以下几种情况发生时,虚拟机将会回到调用方法的语句并继续向下执行: 执行完方法中所有的语句: 遇到return语句: ...

  6. PHP 错误解决锦集

    Part1:Maximum execution time of 120 seconds exceeded 120秒运行超时的错误 解决办法: 方法一,修改php.ini文件 max_execution ...

  7. MySQL 批量删除相同前缀的表

    sql 命令批量生成drop命令 需要批量删除表,而MySQL又没有提供相关的功能:一般我们建表也都会使用相同前缀,那么,在不使用工具的情况下可以选择使用sql生成批量删除命令: 如删除以 " ...

  8. elasticsearch 6.3 安装手记

    系统环境 centos 7 elasticsearch 6.3 需要 JDK 8 版本,先安装 JDK 8. ES6.3 安装地址: https://www.elastic.co/guide/en/e ...

  9. nylg 开方数

    开方数 时间限制:500 ms  |  内存限制:65535 KB 难度:3   描述 现在给你两个数 n 和 p ,让你求出 p 的开 n 次方.   输入 每组数据包含两个数n和p.当n和p都为0 ...

  10. 容易忽略的小知识之 Date 函数参数

    Date 对象启用基本存储器并取得日期和时间. dateObj = new Date()dateObj = new Date(dateVal)dateObj = new Date(year, mont ...