如果属性已经具有其他属性,则强制在属性上使用属性

Off*_*ler 10 c# custom-attributes

如果使用其他属性,我想强制使用属性.如果将特殊的第三方属性附加到属性,则还需要将此属性赋予属性是否有可能这样做?

例如:

[Some3rdPartyAttribute("...")]
[RequiredAttribute("...)]
public bool Example{get; set;}
Run Code Online (Sandbox Code Playgroud)

应该没有编译错误,

[Some3rdPartyAttribute("...")]
public bool Example{get; set;}
Run Code Online (Sandbox Code Playgroud)

应该带来编译错误或警告.

该属性本身的定义类似于http://msdn.microsoft.com/en-US/library/z919e8tw(v=vs.80).aspx本身的示例.但是如果使用另一个属性,如何强制使用属性?

Tig*_*ran 3

另一种选择是使用一些 AOP 技术。例如:

后夏普

使用它,您可以在编译时分析您的代码,并在某些条件不满足您的要求时发出错误。

有关属性的具体示例,可以查看:

PostSharp 2.1:反映自定义属性