抽象类中方法的C#XML文档
我有一个通用的抽象基类,上面有一些方法。这些方法本身具有XML注释:抽象类中方法的C#XML文档,c#,xml-comments,C#,Xml Comments,我有一个通用的抽象基类,上面有一些方法。这些方法本身具有XML注释: /// <summary> /// Controller for working with instances of {TModel} /// </summary> public abstract class BaseController<TModel> : ApiController { /// <summary> /// Creates a {
/// <summary>
/// Controller for working with instances of {TModel}
/// </summary>
public abstract class BaseController<TModel> : ApiController
{
/// <summary>
/// Creates a {TModel}.
/// </summary>
[HttpPost]
public Task<TModel> Post([FromBody] TModel model)
{
...
return ...
}
}
//
///用于处理{TModel}实例的控制器
///
公共抽象类BaseController:ApiController
{
///
///创建一个{TModel}。
///
[HttpPost]
公共任务发布([FromBody]TModel模型)
{
...
返回。。。
}
}
我希望能够这样实施:
/// <summary>
/// Controller for working with instances of PersonModel
/// </summary>
public class PersonController : BaseController<PersonModel>
{
}
//
///用于处理PersonModel实例的控制器
///
公共类PersonController:BaseController
{
}
并为PersonController生成XML注释,这些注释模仿基类上的注释。这将允许一些奇特的东西,比如拾取我的XML注释,并将它们很好地显示给PersonController
目前评论如下:
<?xml version="1.0"?>
<doc>
<assembly>
<name>MyLibrary</name>
</assembly>
<members>
<member name="T:MyLibrary.PersonController">
<summary>
Controller for working with instances of PersonModel
</summary>
</member>
<member name="T:MyLibrary.BaseController`1">
<summary>
Controller for working with instances of {TModel}
</summary>
</member>
<member name="M:MyLibrary.BaseController`1.Post(`0)">
<summary>
Creates a {TModel}.
</summary>
</member>
</members>
</doc>
我的图书馆
用于处理PersonModel实例的控制器
用于处理{TModel}实例的控制器
创建一个{TModel}。
我希望它还包括PersonController上post方法的方法文档:
...
<member name="M:MyLibrary.PersonController.Post(`0)">
<summary>
Creates a PersonModel.
</summary>
</member>
...
。。。
创建一个PersonModel。
...
在这一点上,我觉得我已经浪费了太多的时间试图找出如何使它做我想要的。你们谁能帮我找到一个快捷方式吗?一些工具(如ReSharper或GhostDoc)可以使评论生成或复制更容易。NDoc和Sandcastle(除其他外)支持的xml标记有一个扩展,因此您可以将
//
放在基类或接口中,以便轻松地继承注释,但它不是普遍支持的。当派生类中不存在方法注释时,这些标记如何处理从基类继承方法注释?msbuild生成的xml文件在派生类型上没有对这些方法的注释。短期来说,最好的选择是像ReSharper这样的工具(您可以从基类或接口提取注释),尽管我很欣赏不是每个人都使用或喜欢它。从长远来看,在Swashback中鼓励(和/或实现)
支持将是非常好的。它看起来像是在类级别工作的东西,但它仍然不会导致方法post的文档。我将用XML文档示例来编辑这个问题,它现在是什么样子,我希望它是什么样子。