方法级别的c#自定义属性不会覆盖类属性,这是预期的吗?

时间:2019-06-10 05:58:18

标签: c# .net .net-core

我有一个在类和方法级别的属性:

 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true)]

如果我在方法级别设置了具有不同参数的相同属性,则该方法的属性不会获得优先级。这是预期的还是我在这里缺少的东西?

谢谢!

1 个答案:

答案 0 :(得分:0)

请注意,属性只是标记,不会改变任何东西,实际行为由您自己控制。

分配属性行为的唯一方法是反射。

在反射逻辑中,如果在类和方法级别上都找到了属性,则可以在代码中对其进行控制以采用方法级别1的值。