如果使用其他属性,则禁止方法属性

本文关键字:属性 禁止 方法 如果 其他 | 更新日期: 2023-09-27 18:20:49

如果已经指定了另一个属性,是否可以阻止将属性应用于给定的方法(或类)?

例如,如果属性B应用于已经应用属性A的方法,我想发出编译时错误或警告:

public class AttributeA : Attribute{}
public class AttributeB : Attribute{}
[A]
[B] // generates error or warning because of A
public void Foobar(){}

我认为这不可能,但值得一问。

如果使用其他属性,则禁止方法属性

这是不可能的。几个月前,当我遇到这个答案时,我想做一些类似于ObsoleteAttribute的事情,为我的自定义属性触发编译器警告。