Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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# 有没有更好的方法来记录实现接口的方法?_C#_.net_Documentation_Interface_Documentation Generation - Fatal编程技术网

C# 有没有更好的方法来记录实现接口的方法?

C# 有没有更好的方法来记录实现接口的方法?,c#,.net,documentation,interface,documentation-generation,C#,.net,Documentation,Interface,Documentation Generation,我想知道是否有办法做到这一点,或者甚至是否应该做到?我很快想到了使用方法属性,因为它是一种元数据,但我不确定是否有用于此目的的方法属性。现在,我只是简单地使用XML注释标记来告诉方法何时实现某些接口。但这当然不是元数据的结构化形式 也许自动代码文档系统已经可以通过代码解析这些信息,但是对于阅读实际代码的人来说,它仍然可以帮助他们更容易地理解这些信息。如果您指的是实现接口的类列表,那么可以使用文档头的标记 /// <summary> /// Interface that AutoCAD

我想知道是否有办法做到这一点,或者甚至是否应该做到?我很快想到了使用方法属性,因为它是一种元数据,但我不确定是否有用于此目的的方法属性。现在,我只是简单地使用XML注释
标记来告诉方法何时实现某些接口。但这当然不是元数据的结构化形式


也许自动代码文档系统已经可以通过代码解析这些信息,但是对于阅读实际代码的人来说,它仍然可以帮助他们更容易地理解这些信息。

如果您指的是实现接口的类列表,那么可以使用文档头的
标记

/// <summary>
/// Interface that AutoCAD commands are required to implement.
/// </summary>
/// <seealso cref="My.Namespace.ClassThatImplementsThisInterface"/>
/// <seealso cref="My.Namespace.AnotherClassThatImplementsThisInterface"/>
public interface IMyInterface
//
///AutoCAD命令需要实现的接口。
/// 
/// 
/// 
公共接口IMyInterface
您也可以在方法上执行此操作,以引用回接口方法:

public class ClassThatImplementsThisInterface : IMyInterface
{
    /// <summary>
    /// </summary>
    /// <seealso cref="My.Namespace.IMyInterface.InterfaceMethod" />
    public void InterfaceMethod()
    {
    }
}
实现此接口的公共类:IMyInterface
{
/// 
/// 
/// 
公共无效接口方法()
{
}
}

我在C#中只使用过一个文档生成器,当时没有使用上述方法,所以我不能说这是理所当然的,但是我认为生成器应该选择这些引用,并在文档中创建指向引用的方法/类/接口的链接。

如果您指的是实现接口的类列表,那么可以使用文档标题的
标记

/// <summary>
/// Interface that AutoCAD commands are required to implement.
/// </summary>
/// <seealso cref="My.Namespace.ClassThatImplementsThisInterface"/>
/// <seealso cref="My.Namespace.AnotherClassThatImplementsThisInterface"/>
public interface IMyInterface
//
///AutoCAD命令需要实现的接口。
/// 
/// 
/// 
公共接口IMyInterface
您也可以在方法上执行此操作,以引用回接口方法:

public class ClassThatImplementsThisInterface : IMyInterface
{
    /// <summary>
    /// </summary>
    /// <seealso cref="My.Namespace.IMyInterface.InterfaceMethod" />
    public void InterfaceMethod()
    {
    }
}
实现此接口的公共类:IMyInterface
{
/// 
/// 
/// 
公共无效接口方法()
{
}
}

我在C#中只使用过一个文档生成器,当时没有使用上述方法,所以我不能说这是理所当然的,但我认为生成器应该选择这些引用,并在文档中创建指向引用的方法/类/接口的链接。

请看GhostDoc。这是一个免费的VisualStudio插件。它有菜单和快捷键,可以自动生成文档注释。它还可以从方法的名称中推断出一些功能。例如,如果您有“public void SavePerson()”这样的方法,当您在该方法内部时,按Ctrl+Shift+D,它将生成以类似“this method is used to Save a Person”的内容作为前缀的注释

如果您的类实现了一个接口,它也将记录该接口。如果方法采用参数,它将交叉引用这些类型


您仍然需要键入大量文本来增加类/方法/属性的实际功能,但GhostDoc是在代码文档中生成基本支架、交叉引用、继承层次结构和接口详细信息的一种很好的方法。

看看GhostDoc。这是一个免费的VisualStudio插件。它有菜单和快捷键,可以自动生成文档注释。它还可以从方法的名称中推断出一些功能。例如,如果您有“public void SavePerson()”这样的方法,当您在该方法内部时,按Ctrl+Shift+D,它将生成以类似“this method is used to Save a Person”的内容作为前缀的注释

如果您的类实现了一个接口,它也将记录该接口。如果方法采用参数,它将交叉引用这些类型


您仍然需要键入大量文本来增加类/方法/属性的实际功能,但GhostDoc是在代码文档中生成基本支架、交叉引用、继承层次结构和接口详细信息的好方法。

您指的是实现接口的类列表吗,但是在接口的源文件中记录它?我的意思是作为实际实现方法的文档,而不是在可以有实现者的类中。这一次,我甚至不能记录接口本身,因为它是一个.NET Framework接口,除此之外,这听起来不是一个好主意,因为编码的实现者可能是不可预测的。你是指实现接口的类列表吗,但是在接口的源文件中记录它?我的意思是作为实际实现方法的文档,而不是在可以有实现者的类中。这一次,我甚至不能在接口本身中记录,因为它是一个.NET Framework接口,除此之外,它听起来也不是一个好主意,因为编码的实现者可能是不可预测的。谢谢!是的,我想在方法上做。在类中列出实现者对我来说不太合适,因为可能会对不可预测数量的实现者进行编码。不管怎么说,see在引用的时候看起来也好多了;我没有想到这些,我会使用它们。谢谢!是的,我想在方法上做。在类中列出实现者对我来说不太合适,因为可能会对不可预测数量的实现者进行编码。不管怎么说,see在引用的时候看起来也好多了;我没有想到这些,我会使用它们。谢谢!这听起来也很有趣,是的,记录代码是相当乏味的,可能现在占用了我大量的时间。当你是一个完美主义者时,这就变成了一种冲突谢谢这听起来也很有趣,是的,记录代码是相当乏味的,可能现在占用了我大量的时间。当你是一个完美主义者时,这就变成了一种冲突