可以将属性应用于c#中的静态类,方法或属性吗?像:
[MyAttribute]
public static MyMethods(string str) ...
答案 0 :(得分:6)
这里确实有两个问题
一般来说,属性是否可以应用于类,方法或属性?
是属性可以有效地针对任何这些构造(以及许多其他构造)
特定属性是否有效?
这取决于具体的属性。属性可以控制它们可以通过AttributeTargets
枚举应用于哪些构造,因此将特定属性应用于特定构造是非法的。
例如,ParamArrayAttribute
只能定位参数,而ObsoleteAttribute
几乎可以定位任何东西(除了程序集,可能还有一个我缺少的)
答案 1 :(得分:2)
是的,您可以将属性应用于静态类,方法,属性。
示例:
[MyAttribute("hello")]
public static string SayHello(string str)
{
return str;
}
答案 2 :(得分:1)
是。大概。试着看看。
我想知道你为什么怀疑它。
答案 3 :(得分:1)
是的,它可以应用。
答案 4 :(得分:0)
如果它可以应用于静态类,则取决于属性。查看AttributeTarget。因此,它是完全合法的,并允许使用Attributes修饰静态类或方法。