C# 所有特性,特性所在命名空间,那些命名空间拥有特性类
文章持续补充中
特性并不是集中在某一命名空间中,而是不同的特性在不同的命名空间下,特性是某一命名空间下提供的语法糖。
有哪些命名空间提供特性:
| 命名空间 | 描述 |
| 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# 所有特性,特性所在命名空间,那些命名空间拥有特性类的更多相关文章
- 精进不休 .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 ...
- XAML 命名空间和命名空间映射
本主题将介绍大部分 XAML 文件的根元素中存在的 XML/XAML 命名空间 (xmlns) 映射.它还将介绍如何为自定义类型和程序集生成类似的映射. XAML 命名空间如何与代码定义和类型库相关 ...
- PHP命名空间与自动加载类详解
本文实例讲述了PHP命名空间与自动加载类.分享给大家供大家参考,具体如下: 今天我要给大家介绍的是PHP的命名空间 和 自动加载类 我先简单的分开演示 在放在一起 大家请看:什么是自动加载类? 想必大 ...
- 【2.0新特性】Spring Boot 2.0新特性
以Java 8 为基准 Spring Boot 2.0 要求Java 版本必须8以上, Java 6 和 7 不再支持. 内嵌容器包结构调整 为了支持reactive使用场景,内嵌的容器包结构被重构了 ...
- C#利用反射+特性实现简单的实体映射数据库操作类
附上源代码: using System; using System.Collections.Generic; using System.Data; using System.Linq; using S ...
- 命名空间System.Threading命名空间的同步锁 Monitor类
官方备注: Monitor类通过向单个线程授予对象所来控制对对象的访问.对象所提供限制访问代码块的能力.当一个线程拥有对象的锁时,其他任何线程都不能获取该锁.还可以使用Monitor来确保不会允许其他 ...
- JAXB命名空间及命名空间前缀处理
本篇介绍下JAXB进阶使用,命名空间处理 使用package-info.java添加默认命名空间在需要添加命名空间的包下面添加package-info.java文件,然后添加@XmlSchema注解, ...
- iOS开发——新特性OC篇&Swift 2.0新特性
Swift 2.0新特性 转眼间,Swift已经一岁多了,这门新鲜.语法时尚.类型安全.执行速度更快的语言已经渐渐的深入广大开发者的心.我同样也是非常喜爱这门新的编程语言. 今年6月,一年一度 ...
- Asp.Net MVC4新特性指南(2):新特性介绍
上一章讲解了最基本的MVC4说明.今天就介绍下几种新特性的使用例子: 就当大家有MVC3的基础了.在这个基础上在看下面的介绍就容易多了.1.Web API MVC4包括一个更好的解决方案:A ...
随机推荐
- nginx 学习笔记(4) Connection处理方法
nginx支持connection的多种处理方法.nginx运行的平台确定了可用的处理方法. 在特定平台下connection的多种处理方法中,nginx会自动选择一种最有效的方法.然而,如果需要,你 ...
- 再springMVC中自定义文件上传处理解决与原spring中MultipartResolve冲突问题
相信很多朋友再用springmvc时都遇见了一个问题,那就是自带的获取上传的东西太慢,而且不知道如何修改,其实不然,spring框架既然给我们开放了这个接口,就一定遵从了可扩展性的原则,经过查看org ...
- Linux skbuff注释笔记
SKB结构定义 /usr/src/linux/include/linux/skbuff.h sk_buff_head: struct sk_buff_head { //SKB的头结点 /* The ...
- Java - 延迟初始化
延迟初始化(lazy initialization),也就是在真正被使用的时候才开始初始化的技巧. 不论是静态还是实例,都可以进行延迟初始化. 其本质是初始化开销和访问开销之间的权衡. 毕竟是一种优化 ...
- 彻底弄懂HTTP缓存机制及原理(转载)
https://www.cnblogs.com/chenqf/p/6386163.html 前言 Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系 ...
- Session和Cookie的区别与联系
一. 概念理解 你可能有留意到当你浏览网页时,会有一些推送消息,大多数是你最近留意过的同类东西,比如你想买桌子,上淘宝搜了一下,结果连着几天会有各种各样的桌子的链接.这是因为 你浏览某个网页的时候,W ...
- C# 如何在Linux操作系统下读取文件
发布在Window环境上的微服务需要部署在Linux环境上,本以为没有什么问题,结果因为一处读取文件路径的原因报错了,在此记录一下两个问题:1.C#如何判断当前运行环境是什么操作系统:2.C#读取文件 ...
- python实现字符串中的半全角转换
全角和半角的空格的Unicode值相差12256 除空格外的全角和半角的Unicode值相差65248 # -*- coding: utf-8 -*- def strQ2B(ustring): &qu ...
- java语言导学(5版)--第12章并发之二
1不可变对象 概念:(immutable)对象创建后,状态不可更改.不可变对象在并发程序中尤其有用,因状态不可变,不会被线程干扰,也不会出现不一致状态. 书中通过实例是可变的类,并从此类衍生出一个不可 ...
- shell_basic
1.回顾基础命令 2.脚本 3.变量 4.别名 5.条件判断 6.test判断 一.回顾基础命令 shutdown --关机/重启 exit --退出当前shell rmdir --删除空目录 d ...