gpt4 book ai didi

c# - 在 xml 注释的 cref 部分构造泛型类型

转载 作者:太空狗 更新时间:2023-10-29 21:51:38 24 4
gpt4 key购买 nike

我有这样的通用异常类:

public class DuplicateException<TEntity> : Exception
{
public TEntity Entity { get; set; }
}

我有一个非泛型方法,它可能会抛出构造的泛型异常:

void Save()
{
throw new DuplicateException<SomeEntity>();
}

此方法可能会抛出此通用异常,但仅限于此构造类型 DuplicateException<SomeEntity>并且它不能用其他类型参数而不是 SomeEntity 抛出此异常.

现在我想在 Save 的 xml 注释中指定这个事实方法。 This article描述了一些如何使用通用异常来注释方法,我已经尝试了这两种选择:

1) 在 VS 中默认通过自动完成插入:

/// <exception cref="DuplicateException{TEntity}" />

2) 已替换 TEntitySomeEntity

/// <exception cref="DuplicateException{SomeEntity}" />

但在这两种情况下,输出 XML 仍然指出此方法可能会抛出未提及 SomeEntity 的通用非构造 类型完全:

<exception cref="T:MyNameSpace.DuplicateException`1" />

最佳答案

cref 属性的目的是链接到某个类型的文档。但是没有针对具体泛型类型的文档,因此生成的 cref 属性用于泛型类型定义也就不足为奇了。您担心的是您想要显示与链接中的内容不同的内容。您可以在使用元素时这样做,因为元素的内容是链接的文本。但是在元素中,元素的内容是异常发生时的描述。所以我不认为有办法做你正在寻找的东西。

关于c# - 在 xml 注释的 cref 部分构造泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8403340/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com