为什么C#XML成员文档不是" smart"就像在VB.NET中一样?解决方法?

时间:2014-04-08 14:11:46

标签: c# vb.net visual-studio-2010 visual-studio

我注意到,当我从VB.NET迁移到C#时,成员的XML文档在C#中并不像在VB.NET中那样“智能”。首先,当你引用其他东西时,它缺乏智能感知。例如,在下面的屏幕截图中,我有方法,我试图在文档中引用String。使用VB,我得到intellisense下拉列表,而使用C#,我没有。

enter image description here enter image description here

其次,如果我更改参数的名称,它不会在C#中产生警告,因为它在VB.NET中表示文档不再与方法签名匹配:

enter image description here enter image description here

这特别“危险”,因为它可能导致您的API文档不正确。

这些差异的原因是什么? C#以这种方式受限是否有充分的理由?或者我应该以不同的方式看待它还是以不同的方式做某事?

2 个答案:

答案 0 :(得分:3)

您只是看到C#和VB.NET IDE的副作用已由Microsoft内部的不同组实现。小团体是任何软件公司的生存策略,微软也不例外。

这些努力背后的历史,在C#出现之前很久,Visual Basic就拥有强大的IDE支持。 VB.NET团队肯定已经开始实施他们的。这并不总是一个优势,他们也不得不使它类似于早期的IDE,以减少他们以前的VB客户必须经历的采用冲击。 VB.NET已经是一个非常重要的版本,与早期的VB版本完全不同。与你现在遇到的那个没什么不同。

他们最终有不同的目标。例如,在您的屏幕截图中非常明显,VB.NET IDE具有带有“Common”和“All”选项卡的选项卡式窗口。这已经让很多VB.NET程序员陷入困境,从未弄清楚他们有时需要“全部”。 C#没有那种,而不是那种曾经积极隐藏任何东西的语言。

我们无法帮助您解决这些差异,没有针对它们的设置。您可以在user voice提交功能请求,但这可能会浪费您的精力。改变IntelliSense的先前要求始终得到满足,“谢谢,我们将在下一个版本中考虑它!”没有他们实施。

你会习惯它,所有的C#程序员都会这样做。

答案 1 :(得分:1)

对于使用Ghost Doc的第一部分,这是一个好主意。

至于第二个,需要在项目设置中检查XML Documentation文件复选框。所有缺失/不正确的XML注释都会显示为警告。

如果您绝对想确保没有任何警告转入生产,请启用Treat warnings as errors这是一个好主意。