作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个由两部分组成的问题。
首先,正如标题所说,有人知道AttributeUsageAtribute是如何实现的吗?它只能应用于派生自 Attribute 的类,否则会出错:属性“AttributeUsage”仅对从 System.Attribute 派生的类有效
其次,我能否编写一个类似的属性,可以应用于派生自特定类或实现特定接口(interface)的类?
最佳答案
1) 这是特定于编译器的
2) 你可以尝试以下技巧:
var attributes = typeof(A).GetCustomAttributes(A.GetDerivedFromAOnlyAttributeType(), false);
// using an attribute outside the A class
class A {
protected class DerivedFromAOnlyAttribute : Attribute { }
public static Type GetDerivedFromAOnlyAttributeType() {
return typeof(DerivedFromAOnlyAttribute);
}
}
[A.DerivedFromAOnly] //ok
class B : A {
}
[A.DerivedFromAOnly] //error
class C {
}
关于c# - AttributeUsageAtribute 是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8099704/
我有一个由两部分组成的问题。 首先,正如标题所说,有人知道AttributeUsageAtribute是如何实现的吗?它只能应用于派生自 Attribute 的类,否则会出错:属性“Attribute
我是一名优秀的程序员,十分优秀!