我想知道是否可以手动向项目中使用的COM类或枚举添加注释。
我们大多数的程序员都可以使用它,而不会遇到任何麻烦,但是由于这里有一些经验不足的程序员,所以我想知道是否可以改进文档,为我们公司使用的COM对象,接口和枚举添加一些注释。
就像是:
///<summary>This is a enum that doesn't do anything</summary>
enum ComApi.FooBar
{
///<summary>Does Foo</summary>
Foo,
///<summary>Does Bar</summary>
Bar,
///<summary>Does Foo and Bar, and divid by zero!</summary>
Baz
}
Run Code Online (Sandbox Code Playgroud)
如果上述方法不可行,则可以直接在COM dll中添加注释吗?
顺便说一下,我正在使用c#在VS 2008上进行开发。我正在尝试通过向COM对象添加一些注释来改善我们的程序员体验,以便Visual Studio在其文档界面中进行显示。
COM类型库确实通过[helpstring]属性支持注释。许多COM感知开发环境在其编辑器中显示这些注释。但是,.NET不支持此功能,从已删除所有注释的已编译代码生成类型库。.NET中没有可让Regasm.exe或Tlbexp.exe将其发射到.tlb中的属性。
如果要执行此操作,则必须编写一个.idl文件。您可以使用OleView.exe,File + View Typelib命令从现有.tlb中获取一个。然后,您可以编辑文件以插入[helpstring]属性,midl.exe可以将其转换回类型库。
残酷的是,当C#代码的公共接口更改时,您必须重做此操作。没有工具就没有喜悦。而且,您必须对其进行自动化,以确保此类型库不会与C#代码不一致。这就产生了无法诊断的可怕的运行时异常。就像AccessViolationException。更糟糕的是,一点也不例外,当堆栈失衡时,只是错误的值。我不知道执行此操作的现有工具。
| 归档时间: |
|
| 查看次数: |
278 次 |
| 最近记录: |