VisualStudio |带有关键字“null”的摘要

问题描述 投票:0回答:2

我有一个

property
,可以是
null
。我想在
summary
中记录这一点,这是我的问题。

cref

/// <summary>
/// Can be <see cref="null"/>.
/// </summary>
public object FooProperty;

ReSharper
说,有一个
Syntax Error
,但突出显示按预期工作!

cref 嵌套

/// <summary>
/// Can be <see><cref>null</cref></see>.
/// </summary>
public object FooProperty;

将其格式化为

nested
时,突出显示不再起作用。

语言

/// <summary> /// Can be <see langword="null"/>. /// </summary> public object FooProperty;

langword

 正在工作,但 
intelliSense
 中没有 
VisualStudio

有人可以告诉我记录这些内容的正确方法是什么吗

keywords

IntelliSense
支持会很好!

解决方法

  • VisualStudio |内部评论/摘要块的 CodeSnippet(IntelliSense)
visual-studio documentation resharper summary
2个回答
3
投票

langword 是正确的选择。你是对的,没有智能感知支持。这可能是因为它不是“官方推荐的 XML 注释标签”属性。但是可以根据您的评论生成文档的工具,例如Sandcastle Help File Builder 或 VSdocman(免责声明,我是 VSdocman 的开发人员)将识别此语法并生成特殊文本。例如,VSdocman 生成: 空引用(Visual Basic 中的Nothing

同样适用于其他保留字

,例如true、abstract等

虽然 Intellisense 无法帮助您,但 VSdocman 有一个所见即所得的注释编辑器,可以帮助您处理更复杂的注释。

还有一个注意事项

<see cref="null"/>

。这将创建一个指向名为

null

 的类、方法或属性的链接。这在 C# 中是不可能直接实现的,您需要在作为保留字的名称之前添加 @:
/// <summary> /// <see cref="@null"/> /// </summary> public class MyClass { public void @null() {} }

但这在 VB .NET 中完全有效:

''' <summary> ''' <see cref="null"/> ''' </summary> Public Class MyClass ReadOnly Property null As String End Class

在 Visual Studio 2022 (v17.4.4) 中,对 

0
投票
/> 构造提供 IntelliSense 支持。它甚至显示了 langword 属性的可能值的下拉列表。

© www.soinside.com 2019 - 2024. All rights reserved.