可能重复:
Custom Compiler Warnings
我是编写自己的.NET属性的新手,但是想写一个与System.ObsoleteAttribute属性类似的行为 - 如果一个类/成员被标记了属性我想要任何调用者类/成员生成警告。
具体来说,我想创建一个[Unimplemented]属性 - 实际上在开发过程中使用它而不是抛出NotImplementedExceptions。
有人知道如何让IDE实时评估它并在调用[未实现]项时生成警告吗?
答案 0 :(得分:1)
不,ObsoleteAttribute
由符合CLI的编译器以非常特殊的方式处理,因此无法模仿其行为。 #warning
或#error
(请参阅this)可以胜任。
答案 1 :(得分:1)
属性实际上并没有做任何事情,它们基本上只是用一些元数据标记方法(或类或其他)。 IDE /编译器执行处理以决定在看到Obsolete属性时要执行的操作。
如果您希望visual studio以这种方式表现另一个属性,则必须为visual studio编写自定义插件。
答案 2 :(得分:0)
我可以问你为什么要这样做吗?听起来你有一些未实现的功能,但你不希望他们抛出NotImplementedExceptions?为什么没有一个空的代码块,可能有一个// todo:comment来提醒自己你还没完成?
顺便说一句,ReSharper中有一个很棒的功能叫做“Todo explorer”,它显示(和链接)你所有的//todo:
个评论(甚至是NotImplementedException
个)