【求解释】关于c#里field关键字的用法
在一篇讲序列化的文里看到的一个用法,是放在特性声明里,用来破坏特性修饰目标类型的限制,如下例
问题是:1,这种语法怎么理解
2.“field”被定义为关键字,除了这种用法还有别的原因吗?比如其他场景的使用
[AttributeUsage(AttributeTargets.Field, Inherited = false)]
public class abc : Attribute
{
}
[field: abc] //编译通过
class MyClass
{
[abc]
public MyClass()
//Error1Attribute '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.cs2710ConsoleApplication1
{
}