3

我为 Revit Structure API 创建了许多加载项。每个工具都必须有一个实现接口 IExternalCommand 的类。

在最新版本的 Revit 中,要使您的工具正常工作,您需要在实现该接口的类上具有两个属性:

[再生(RegenerationOption.Manual)] [事务(TransactionMode.Automatic)]

括号中的值可以改变,但一定有一些东西。我经常发现自己忘记设置属性,然后在运行时崩溃。Visual Studio 2010 中是否有任何方法可以添加编译器警告或错误,说明如果您的类实现了该接口,则它必须具有这两个属性?如果有帮助,我会重新整理。

谁能指出我正确的方向?

4

2 回答 2

4

不幸的是没有。(不过,我不知道 Resharper)

如果您有 VS2010 Ultimate,您可以编写自定义代码分析规则。

于 2010-05-06T01:16:55.650 回答
2

不是在编译期间,但我认为反射很容易。

我建议一个单独的程序使用反射来检查你编译的程序集,找到所有具有指定接口的类,然后检查这些类的属性,很快返回一个友好的错误消息。

编译程序后,您仍然需要运行该程序,但根据您的 IDE,您可以将其设置为构建后步骤。

于 2010-05-06T01:30:25.860 回答