Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在xml注释的cref部分构造泛型类型_C#_Generics_Xml Comments - Fatal编程技术网

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

C# 在xml注释的cref部分构造泛型类型,c#,generics,xml-comments,C#,Generics,Xml Comments,我有这样的通用异常类: public class DuplicateException<TEntity> : Exception { public TEntity Entity { get; set; } } 2) 将tenty替换为SomeEntity /// <exception cref="DuplicateException{SomeEntity}" /> cref属性的目的是链接到类型的文档。但是没有具体泛型类型的文档,因此生成的cref属性用于泛型

我有这样的通用异常类:

public class DuplicateException<TEntity> : Exception
{
    public TEntity Entity { get; set; }
}
2) 将
tenty
替换为
SomeEntity

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

cref属性的目的是链接到类型的文档。但是没有具体泛型类型的文档,因此生成的cref属性用于泛型类型定义也就不足为奇了。您关心的是,您希望显示与链接中的内容不同的内容。在使用元素时可以这样做,因为元素的内容是链接的文本。但在元素中,元素的内容是对异常发生时间的描述。因此,我认为没有办法实现您想要的功能。

是否有必要抛出一般异常?如果某个特定的代码片段可能引发DuplicateException和DuplicateException,而您只想捕捉其中一个,而不想捕捉另一个,那么这种方法的唯一用途就是。好吧,但为什么不让一个DuplicateException可以从任何Save*方法引发呢?为什么它必须是泛型的呢?强类型并不能给你带来很多好处。是的,您可以对正在保存的对象具有强类型属性。但是你打算怎么处理这个强类型属性呢?我认为如果有一个非一般性的例外,你会过得更好。
/// <exception cref="DuplicateException{TEntity}" />
/// <exception cref="DuplicateException{SomeEntity}" />
<exception cref="T:MyNameSpace.DuplicateException`1" />