AttributeUsage AttributeTargets

在C#的类中,有的类加上了
[AttributeUsage(AttributeTargets.Property)]
这个是起什么作用的呢?
AttributeTargets 枚举

成员名称 说明
All 可以对任何应用程序元素应用属性。
Assembly 可以对程序集应用属性。
Class 可以对类应用属性。
Constructor 可以对构造函数应用属性。
Delegate 可以对委托应用属性。
Enum 可以对枚举应用属性。
Event 可以对事件应用属性。
Field 可以对字段应用属性。
GenericParameter 可以对泛型参数应用属性。
Interface 可以对接口应用属性。
Method 可以对方法应用属性。
Module 可以对模块应用属性。
Parameter 可以对参数应用属性。
Property 可以对属性 (Property) 应用属性 (Attribute)。
ReturnValue 可以对返回值应用属性。
Struct 可以对结构应用属性,即值类型。

下面的代码示例演示如何应用 AttributeTargets 枚举:

using System;

namespace AttTargsCS
{
// This attribute is only valid on a class.
[AttributeUsage(AttributeTargets.Class)]
public class ClassTargetAttribute : Attribute
{
} // This attribute is only valid on a method.
[AttributeUsage(AttributeTargets.Method)]
public class MethodTargetAttribute : Attribute
{
} // This attribute is only valid on a constructor.
[AttributeUsage(AttributeTargets.Constructor)]
public class ConstructorTargetAttribute : Attribute
{
} // This attribute is only valid on a field.
[AttributeUsage(AttributeTargets.Field)]
public class FieldTargetAttribute : Attribute
{
} // This attribute is valid on a class or a method.
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class ClassMethodTargetAttribute : Attribute
{
} // This attribute is valid on any target.
[AttributeUsage(AttributeTargets.All)]
public class AllTargetsAttribute : Attribute
{
} [ClassTarget]
[ClassMethodTarget]
[AllTargets]
public class TestClassAttribute
{
[ConstructorTarget]
[AllTargets]
TestClassAttribute()
{
} [MethodTarget]
[ClassMethodTarget]
[AllTargets]
public void Method1()
{
} [FieldTarget]
[AllTargets]
public int myInt; static void Main(string[] args)
{
}
}
}

AttributeTargets 枚举的更多相关文章

  1. C#中的 特性 详解(转载)

    本篇幅转载于:http://www.cnblogs.com/rohelm/archive/2012/04/19/2456088.html C#中特性详解 特性提供了功能强大的方法,用于将元数据或声明信 ...

  2. 特性(C#)

    特性(Attribute)是用于在运行时传递程序中各种元素(比如类.方法.结构.枚举.组件等)的行为信息的声明性标签,可以为程序集.类型,以及类型内部的各种成员添加扩展信息,用于表示一些附加信息.您可 ...

  3. Attribute

    Attribute介绍 咱们来说Attribute,他是一个类,所以自定义的Attribute都是继承自System.Attribute,一般命名的时候都是以Attribute结尾.在使用的时候我们可 ...

  4. .Net Attribute详解(上)-Attribute本质以及一个简单示例

    Attribute的直接翻译是属性,这和Property容易产生混淆,所以一般翻译成特性加以区分.Attribute常常的表现形式就是[AttributeName], 随意地添加在class, met ...

  5. [C#]Attribute特性(3)——AttributeUsage特性和特性标识符

    相关文章   [C#]Attribute特性 [C#]Attribute特性(2)——方法的特性及特性参数 AttributeUsage特性 除了可以定制自己的特性来注释常用的C#类型外,您可以用At ...

  6. C# Attribute 特性 学习

    一.特性的概述 公共语言运行库允许您添加类似关键字的描述性声明(称为特性 (Attribute))来批注编程元素,如类型.字段.方法和属性 (Property).属性与 Microsoft .NET ...

  7. 面向侧面的程序设计AOP-------《三》.Net平台AOP技术概览

    本文转载自张逸:晴窗笔记 .Net平台与Java平台相比,由于它至今在服务端仍不具备与unix系统的兼容性,也不具备类似于Java平台下J2EE这样的企业级容器,使得.Net平台在大型的企业级应用上, ...

  8. 浅析C#中的Attribute(转)

    最近用到了,所以静下心来找些资料看了一下,终于把这东西搞清楚了. 一.什么是Attribute 先看下面的三段代码: 1.自定义Attribute类:VersionAttribute [Attribu ...

  9. C#中的Attribute

    最近用到了,所以静下心来找些资料看了一下,终于把这东西搞清楚了. 一.什么是Attribute 先看下面的三段代码: 1.自定义Attribute类:VersionAttribute [Attribu ...

随机推荐

  1. python中lambda函数

    1.lambda函数使用如下: lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右侧的是返回值 >>> g=lambda x,y:x*y>>> g(4 ...

  2. SSM框架学习之高并发秒杀业务--笔记1-- 项目的创建和依赖

    在慕课网上看了Java高并发秒杀API视屏后,觉得这个案例真的让我学到了很多,现在重新自己实现一遍,博客记下,顺便分析其中的要点. 第一步是项目的创建和依赖 利用Maven去创建工程然后导入Idea中 ...

  3. 解决Centos7安装后无法联网的问题

    1.进入目录/etc/sysconfig/network-scripts/ $ cd /etc/sysconfig/network-scripts/ 2.找到编辑ifcfg-enoxxxx文件,后面的 ...

  4. WEB UI 整理

    当下对于网站前段开发人员来说,很少有人不使用一些JS框架或者WEB UI库,因此这些可以有效提高网站前段开发速度,并且能够统一开发环境,对于不同浏览器的兼容性也不需要程序员操心,有了这些优点,当然大家 ...

  5. 编译安装php 5.5 缺少依赖包 及解决方案

    必要时可以用 YUM 选择安装以下相关软件包: #yum install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel ...

  6. 源代码tfs to git

    TFSàgit可以保留完整历史记录,方法: https://github.com/git-tfs/git-tfs 系统变量的path里加上: ;C:\Program Files (x86)\Git\b ...

  7. hadoop运行原理之Job运行(一) JobTracker启动及初始化

    这部分的计划是这样的,首先解释JobTracker的启动过程和作业从JobClient提交到JobTracker上:然后分析TaskTracker和heartbeat:最后将整个流程debug一遍来加 ...

  8. <li>高度自适应

    使用ul和li代替表格进行排版的时候,会发现li无法自适应高度. 只需要将li的overflow置为auto就可以了,因为li默认的overflow是visible,会将内部元素显示在li之外.   ...

  9. Jmeter—8 连接microsoft sql server数据库取数据

    本文以Jmeter 连接microsoft sql server为例. 1 从微软官网下载Microsoft SQL Server JDBC Driver 地址:http://www.microsof ...

  10. Android 自动生成表格

    Layout.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...