【发布时间】:2011-08-17 08:00:48
【问题描述】:
我想创建一个在构建过程中执行的自定义属性,它可以根据一些逻辑中断构建,非常类似于System.ObsoleteAttribute。
例如,考虑以下 C# 代码(注意这是一个简化的示例):
public class MyClass
{
[Check]
public int MyProp { get; private set; }
}
这个Check 属性应该检查它装饰的属性是否有一个公共设置器。由于MyProp 属性没有公共设置器(它有一个私有设置器),Check 属性应该会破坏构建。
有可能吗?
【问题讨论】:
-
不幸的是,唯一可以链接到的 C# 规范版本是 2003 版(其他版本的规范是 word 格式)。它定义了"Reserved Attributes" 的概念。这些属性由编译器专门处理。
ObsoleteAttribute就是其中之一。 -
@Damien_The_Unbeliever,感谢您的参考,很高兴知道! +1
标签: .net build custom-attributes