模拟.NET [已废弃]属性

时间:2009-07-06 15:03:09

标签: .net visual-studio attributes

  

可能重复:
  Custom Compiler Warnings

     

重复:Custom Compiler Warnings

我是编写自己的.NET属性的新手,但是想写一个与System.ObsoleteAttribute属性类似的行为 - 如果一个类/成员被标记了属性我想要任何调用者类/成员生成警告。

具体来说,我想创建一个[Unimplemented]属性 - 实际上在开发过程中使用它而不是抛出NotImplementedExceptions。

有人知道如何让IDE实时评估它并在调用[未实现]项时生成警告吗?

3 个答案:

答案 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个)