由网友(Nostalgia 留恋)分享简介:我试图创建与下面的code,但意外离开的子类的自定义的.NET属性。这产生在评论中所示的易于固定的编译错误。//导致编译器错误CS0641:属性AttributeUsage'是//仅适用于从System.Attribute派生类[AttributeUsage(AttributeTargets.Class)内部类T...
我试图创建与下面的code,但意外离开的子类的自定义的.NET属性。这产生在评论中所示的易于固定的编译错误。
//导致编译器错误CS0641:属性AttributeUsage'是
//仅适用于从System.Attribute派生类
[AttributeUsage(AttributeTargets.Class)
内部类ToolDeclarationAttribute
{
内部ToolDeclarationAttribute()
{
}
}
我的问题是如何编译器知道 [AttributeUsage]
属性只能应用到子类 System.Attribute
?使用.NET反射我看不出有什么特别的 AttributeUsageAttribute特性
类声明本身。不幸的是,这可能仅仅是由编译器本身产生的一个特例。
[Serializable接口,标记有ComVisible特性(真),AttributeUsage(AttributeTargets.Class,继承=真)
公共密封类AttributeUsageAttribute特性:属性
{
...
我想可以指定我的自定义属性只能被放置在一个特定的类(或接口)的子类。这可能吗?
解决方案我想可以指定我的自定义属性只能被放置在一个特定的类(或接口)的子类。这可能吗?
其实,有一种方法可以做到这一点,使用受保护的子类(而不是接口)
- 看的
相关推荐
最新文章