我使用Visual Studio中的LINQ to SQL设计器来创建数据库的对象模型.现在,我想为每个生成的属性添加XML注释,但是在下次刷新dbml文件时,我无法弄清楚如何在不删除属性的情况下执行此操作.
如何才能做到这一点?
我们有一个 C# 项目,由于历史原因,该项目在同一代码中同时使用 Doxygen 和 Visual Studio 风格的注释。有没有人尝试过系统地将一种标准转换为另一种标准,最好转换为公共 XML 子集?
我想编写一个脚本来涵盖最常见的功能不会太困难,但我不想重新发明轮子。
这是一个例子:
public void DoSomething(String param1, String param2)
{
if (param1 == null) throw new ArgumentNullException("param1");
if (param2 == null) throw new ArgumentNullException("param2");
}
Run Code Online (Sandbox Code Playgroud)
ArgumentNullException的2个不同原因.MSDNs String.Format示例显示了2个不同的原因FormatException.那么,它是这样做的:
/// <exception cref="ArgumentNullException">
/// <paramref name="param1"/> is null.
/// </exception>
/// <exception cref="ArgumentNullException">
/// <paramref name="param2"/> is null.
/// </exception>
Run Code Online (Sandbox Code Playgroud)
还是其他一些方式?
/// <exception cref="ArgumentNullException">
/// Some other way to show the 2 reasons with an "-or-" between them.
/// </exception>
Run Code Online (Sandbox Code Playgroud) 这是正常的我看不到外部库的xml注释?例如,我有一个外部库,其中包含方法的xml注释.在引用这个库之后,我希望当我使用外部库时会出现xml注释; 但是工具提示中没有出现任何内容:

也许在构建lib时我必须做一些特别的事情.
一方面MSDN说:
XML文档注释不是元数据; 它们不包含在已编译的程序集中......
但另一方面,Intellisense在Visual Studio中为.net类等显示它们(例如,如果你将鼠标悬停在上面Int32.)
为了避免误解:我指的是这些:
/// <summary>
/// These comments.
/// </summary>
void example()
{
//Not these.
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一个 C# 类库,其中包含许多具有几乎相同功能的函数的类。我需要提供有关每个类中函数参数的 XML 注释,这些注释非常详细,但在大多数情况下是相同的。有没有办法重用 XML 注释,这样我就不必在整个程序集中重复这些 XML 参数定义?
这是我的课程的一个例子:
public class IsodoseControl : TestModule
{
/// <summary>
/// Verify a control on Isodose dialog
/// </summary>
/// <param name="args"> **<-- WHAT I DON'T WANT TO KEEP REPEATING**
/// Arguments: [Property, Condition, Expected Value, Tolerance]
/// Properties: STATE, VALUE, LABEL
/// Conditions: Exists, DoesNotExist, IsEnabled, IsDisabled, ...
/// Expected Value (optional): blah blah
/// Tolerance (optional): blah blah blah
/// </param>
public VerifResult VerifyIsodoseControl(string[] args)
{
...
}
}
public …Run Code Online (Sandbox Code Playgroud) 在IEnumerable接口上引用SingleOrDefault扩展方法的正确XML注释语法是什么?
我的最新尝试是:
<see cref="IEnumerable{T}.SingleOrDefault{T}()"/>
Run Code Online (Sandbox Code Playgroud)
警告是:
关于'yourMethod'的XML注释具有无法解析的cref属性'IEnumerable.SingleOrDefault()'
在整个或C#源代码中,我们有很多评论错过了实际内容,如下所示:
/// <summary>
/// </summary>
Run Code Online (Sandbox Code Playgroud)
或这个:
/// <summary>
///
/// </summary>
Run Code Online (Sandbox Code Playgroud)
或这个:
/// <param Name="flag"></param>
Run Code Online (Sandbox Code Playgroud)
不幸的是,Visual Studio不会为此类缺失注释生成警告.但是对于我们来说,如果我们可以在视觉工作室内点击列表中的项目(例如,警告列表)然后被带到源代码中的错误位置来纠正它将会很好.此外,在每次构建xml文件时都会看到缺少xml注释内容的列表.你对如何实现这个有任何想法吗?
我想知道是否可以在注释中引用动态泛型类名称并在IDE中有条件地解决它?
简单的基类示例:
// <summary>
// Retrieves all <T> members from the database.
// </summary>
public void GetAll<T>()
{
//magic
}
Run Code Online (Sandbox Code Playgroud)
如果我现在从这个类继承而恰好是类User,那么我想让IntelliSense将我的评论显示为"从数据库中检索所有用户成员".
这可能吗?
c# intellisense xml-documentation xml-comments visual-studio
我无法找到如何执行此操作,Visual Studio SDK参考也不是很有帮助.
我正在试图弄清楚如何获得NormalizedSnapshotSpanCollectionXML评论.我想在它们旁边放一个图标...我不希望每行旁边有一个图标,但只是在每个组的第一行旁边...
///<summary>SomeXML Comment</summary> [ICON]
///<remarks>some remarks</remarks>
public void Foo()
{
///Some false XML comment line that does not get an icon.
}
Run Code Online (Sandbox Code Playgroud) c# visual-studio-2010 xml-comments adornment visual-studio-sdk
xml-comments ×10
c# ×7
.net ×2
adornment ×1
doxygen ×1
exception ×1
generics ×1
intellisense ×1
linq ×1
xml ×1