AttributeTargets 枚举
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 枚举的更多相关文章
- C#中的 特性 详解(转载)
本篇幅转载于:http://www.cnblogs.com/rohelm/archive/2012/04/19/2456088.html C#中特性详解 特性提供了功能强大的方法,用于将元数据或声明信 ...
- 特性(C#)
特性(Attribute)是用于在运行时传递程序中各种元素(比如类.方法.结构.枚举.组件等)的行为信息的声明性标签,可以为程序集.类型,以及类型内部的各种成员添加扩展信息,用于表示一些附加信息.您可 ...
- Attribute
Attribute介绍 咱们来说Attribute,他是一个类,所以自定义的Attribute都是继承自System.Attribute,一般命名的时候都是以Attribute结尾.在使用的时候我们可 ...
- .Net Attribute详解(上)-Attribute本质以及一个简单示例
Attribute的直接翻译是属性,这和Property容易产生混淆,所以一般翻译成特性加以区分.Attribute常常的表现形式就是[AttributeName], 随意地添加在class, met ...
- [C#]Attribute特性(3)——AttributeUsage特性和特性标识符
相关文章 [C#]Attribute特性 [C#]Attribute特性(2)——方法的特性及特性参数 AttributeUsage特性 除了可以定制自己的特性来注释常用的C#类型外,您可以用At ...
- C# Attribute 特性 学习
一.特性的概述 公共语言运行库允许您添加类似关键字的描述性声明(称为特性 (Attribute))来批注编程元素,如类型.字段.方法和属性 (Property).属性与 Microsoft .NET ...
- 面向侧面的程序设计AOP-------《三》.Net平台AOP技术概览
本文转载自张逸:晴窗笔记 .Net平台与Java平台相比,由于它至今在服务端仍不具备与unix系统的兼容性,也不具备类似于Java平台下J2EE这样的企业级容器,使得.Net平台在大型的企业级应用上, ...
- 浅析C#中的Attribute(转)
最近用到了,所以静下心来找些资料看了一下,终于把这东西搞清楚了. 一.什么是Attribute 先看下面的三段代码: 1.自定义Attribute类:VersionAttribute [Attribu ...
- C#中的Attribute
最近用到了,所以静下心来找些资料看了一下,终于把这东西搞清楚了. 一.什么是Attribute 先看下面的三段代码: 1.自定义Attribute类:VersionAttribute [Attribu ...
随机推荐
- 转linq中的Single()、First()、Take(1) LINQ 标准的查询操作符 排序 orderby、thenby、Take
Single():操作一个集合,同时强要求只有一个对象匹配,并返回这一个. First():操作一个集合,可以有多个对象匹配,但是只返回第一个. Take(1):操作一个集合,可以有对个对象匹配,单只 ...
- Codeforces Round #371 (Div. 2) C. Sonya and Queries
题目链接 分析:01trie树,很容易就看出来了,也没什么好说的.WA了一发是因为没有看见如果数字位数大于01序列的时候01序列也要补全0.我没有晚上爬起来打,白天发现过的人极多. /******** ...
- 读javascript高级程序设计16-几条函数小技巧
内容概要 作用域安全的构造函数 惰性载入函数 函数绑定 函数节流 一.作用域安全的构造函数 我们知道,当使用new操作符调用构造函数时,构造函数内部的this会指向新创建对象的实例. function ...
- git中通过实际操作来了解常用命令
基本的6个命令 常用的就下面6个命令,但是详细的可能有上百个命令. 还需要特别了解git的几个名词,workspace:工作区,Index/Stage:暂存区,Respository:本地仓库,Rem ...
- DataTable 导到Excel
/// <summary> /// 将DataTalbe导出到Excel中 /// </summary> /// <param name="dt"&g ...
- [Jquery]某宝图片轮播(无缝、带左右切换按钮)
[效果] 左右移动(非渐隐) [思路] 1.结构与样式 ①最外层div盒子当容器,里面ul宽度无限大并且相对定位(到时候移动其实移的是ul的left) ②按钮的透明度可用background:rgba ...
- 删除IE 下输入后的清除小叉叉
input::-ms-clear { display: none; } css去掉ie10,11中input[type="text"]后面的X图标 input[type=" ...
- android studio 开启genymotion 出现"failed to create framebuffer image"
出现错误 Unable to start the virtul device To start virtual devices, make sure that your video card supp ...
- 《Java中的不可变类》
//不可变类举例: /* 下面程序试图定义一个不可变类Person类,但=因为Person类包含一个引用类型的成员变量, 且这个引用类是可变类,所以导致Person类也变成了可变类. */ class ...
- 获取su后执行的脚本的返回值
错误的方式: # su - testuser -c "/tmp/test.sh; echo $?"Sun Microsystems Inc. SunOS 5.10 G ...