定制特性
2009-03-18 14:47
141 查看
[FiledName("SocialSecurityNumber")]
public string SocialSecurityNumber{
get{
//etc
编译器:
1.把字符串Attribute添加到这个名称后面,形成一个组合名称FieldNameAttribute,如果该特性名称以字符串Attribute结尾则不添加
2.在其搜索路径中所用命名空间搜索有指定名称FieldNameAttribute的类,如果找到该类并且该类直接或者间接派生自System.Attribute。
[AttributeUsage(AttributeTargets.Property,AllowMultiple=false,Inherited=false)]
public class FieldNameAttribute:Attribute
{
private string name;
public FieldAttribute(string name)
{
this.name=name;
}
private string comment;
public string Comment
{
get{return comment;}
set{comment=value;}
}
}
并且该属性类指定了
该特性可以应用到哪些程序元素上(类,结构,属性,方法等)
AttributeTargets枚举成员如下:All,Assembly,Class,Constructor,Delegate,Enum,Event,Field,GenericParameter,Interface,Method,Module,Parameter,Property,Return Value,Struct
在指定定制特性的有效目标元素时,可以使用按位or运算符把这些值组合起来,如AttributeTargets.Property|AttributeTargets.Field
它是否可以多次应用到同一程序元素上
[FieldName("SocialSecurityNumber")]
[FieldName("NationalInsuranceNumber")]
public string SocialSecurityNumber
{
//etc
特性在应用到类或接口上时,是否由派生类或接口继承,如果Inherited设置为true,就表示应用到类或接口上的特性也可以自动应用到所有派生的类或接口上。如果特性应用到方法或者属性上,也可以自动应用到该方法或属性的重写版本上
这个特性有哪些必选和可选参数,构造函数的参数是必选参数,类的属性为可选参数可以通过如下语法设置
[FieldName("SocialSercurityNumber",Comment="this is the primary key field")]
public string SocialSecurityNumber
{
//etc
public string SocialSecurityNumber{
get{
//etc
编译器:
1.把字符串Attribute添加到这个名称后面,形成一个组合名称FieldNameAttribute,如果该特性名称以字符串Attribute结尾则不添加
2.在其搜索路径中所用命名空间搜索有指定名称FieldNameAttribute的类,如果找到该类并且该类直接或者间接派生自System.Attribute。
[AttributeUsage(AttributeTargets.Property,AllowMultiple=false,Inherited=false)]
public class FieldNameAttribute:Attribute
{
private string name;
public FieldAttribute(string name)
{
this.name=name;
}
private string comment;
public string Comment
{
get{return comment;}
set{comment=value;}
}
}
并且该属性类指定了
该特性可以应用到哪些程序元素上(类,结构,属性,方法等)
AttributeTargets枚举成员如下:All,Assembly,Class,Constructor,Delegate,Enum,Event,Field,GenericParameter,Interface,Method,Module,Parameter,Property,Return Value,Struct
在指定定制特性的有效目标元素时,可以使用按位or运算符把这些值组合起来,如AttributeTargets.Property|AttributeTargets.Field
它是否可以多次应用到同一程序元素上
[FieldName("SocialSecurityNumber")]
[FieldName("NationalInsuranceNumber")]
public string SocialSecurityNumber
{
//etc
特性在应用到类或接口上时,是否由派生类或接口继承,如果Inherited设置为true,就表示应用到类或接口上的特性也可以自动应用到所有派生的类或接口上。如果特性应用到方法或者属性上,也可以自动应用到该方法或属性的重写版本上
这个特性有哪些必选和可选参数,构造函数的参数是必选参数,类的属性为可选参数可以通过如下语法设置
[FieldName("SocialSercurityNumber",Comment="this is the primary key field")]
public string SocialSecurityNumber
{
//etc
相关文章推荐
- 定制特性(Custom Attribute)
- ActiveReports 报表控件V12新特性 -- 可定制的安装设置
- 基于Servlet3.0 WebFragment特性优化Web产品的客户化定制开发模式
- C# 中的定制特性(Attributes)
- Microsoft.NET框架程序设计--16 定制特性
- IMetadataAware接口的特性定制Model元数据
- 所有可以定制的特性是什么?
- [转]C#中的定制特性(Attributes)
- C#反射读取类定制特性信息
- Linux中的 alias 别名命令 超级喜欢linux的 定制特性 不过没想到连命令都可以DIY 真是爽~!~!
- [转]深入浅出Microsoft.Net定制特性 .
- Microsoft.Net框架程序设计学习笔记(25):检测定制特性、伪定制特性
- 定制特性学习笔记
- 定制特性与反射的使用之我见
- [ios开发ios5新特性之]如何在iOS5中定制用户界面
- C#中的定制特性(Attributes)
- 建议55:利用定制特性减少可序列化的字段
- vim的工作特性定制
- [转]C#中的定制特性(Attributes)
- Openkm6定制版新特性