在一篇讲序列化的文里看到的一个用法,是放在特性声明里,用来破坏特性修饰目标类型的限制,如下例问题是:1,这种语法怎么理解
2.“field”被定义为关键字,除了这种用法还有别的原因吗?比如其他场景的使用 [AttributeUsage(AttributeTargets.Field, Inherited = false)]
public class abc : Attribute
{
} [field: abc] //编译通过
class MyClass
{
[abc]
public MyClass()
//Error 1 Attribute 'abc' is not valid on this declaration type. It is only valid on 'field' declarations. C:\Users\gonglei.HOME\AppData\Local\Temporary Projects\ConsoleApplication1\Program.cs 27 10 ConsoleApplication1
{
}
2.“field”被定义为关键字,除了这种用法还有别的原因吗?比如其他场景的使用 [AttributeUsage(AttributeTargets.Field, Inherited = false)]
public class abc : Attribute
{
} [field: abc] //编译通过
class MyClass
{
[abc]
public MyClass()
//Error 1 Attribute 'abc' is not valid on this declaration type. It is only valid on 'field' declarations. C:\Users\gonglei.HOME\AppData\Local\Temporary Projects\ConsoleApplication1\Program.cs 27 10 ConsoleApplication1
{
}
从一篇介绍序列化的博客里http://www.cnblogs.com/wangiqngpei557/archive/2011/09/05/2167751.html