假设我有一个像这样的
attribute
:
[AttributeUsage(AttributeTargets.All)]
public sealed class LearnAttribute: Attribute
{
public string FailMessage;
}
是否可以以某种方式定义其目标,可选的目标(例如
FailMessage
)ONLY适用于我将用来装饰它的property level
,而class
本身仅适用于LearnAttribute
等级?
或者我需要定义两个属性类吗?例如我可以有这样的东西:
class
Roslyn 分析器[Learn] public class Foo { [FailMessage] public string BuildingName { get; set; } public void Method1() { Console.WriteLine(nameof(Method1)); } }
)仅适用于我将用来装饰它的类的属性级别,而
本身仅适用于类级别? 不。您只能为属性类本身定义目标,因此在使用它时可以访问它对应的所有属性/字段。如果你真的愿意,你可以编写一个FailMessage