编译器找到的“System.Runtime.CompilerServices.ExtensionAttribute”的自定义设计版本无效
更新:2007 年 11 月
错误消息
编译器找到的“System.Runtime.CompilerServices.ExtensionAttribute”自定义设计版本无效。它的属性使用标志必须设置为允许程序集、类和方法。
编译器找到的 System.Runtime.CompilerServices.ExtensionAttribute 自定义设计版本没有将其属性使用标志设置为允许将该属性应用于程序集、方法和类。要求至少可以将该属性应用于这三种程序元素。
**错误 ID:**BC36558
更正此错误
将属性定义更改为至少允许将该属性应用于程序集、方法和类,如下面的示例所示。
使用 System.Runtime.CompilerServices.ExtensionAttribute 而不是自定义设计版本。
示例
下面的示例使用 AttributeUsage 属性指定 ExtensionAttribute 的新版本可以应用于哪些程序元素。该示例指定 AttributeTargets 枚举的三个成员。Assembly、Class 和 Method。省略这些元素中的任何一个都会导致此错误。
Namespace System.Runtime.CompilerServices
<AttributeUsage(AttributeTargets.Assembly Or _
AttributeTargets.Class Or AttributeTargets.Method)>
Class ExtensionAttribute
Inherits System.Attribute
' Definitions of methods, fields, and properties.
End Class
End Namespace
或者,可以使用 AttributeTargets 的 All 成员允许将 ExtensionAttribute 应用于所有程序元素。
<AttributeUsage(AttributeTargets.All)>
删除 AttributeUsage 行(如下面的代码所示)会产生相同的结果。
Namespace System.Runtime.CompilerServices
Class ExtensionAttribute
Inherits System.Attribute
' Definitions of methods, fields, and properties.
End Class
End Namespace