수색…


비고

XML 주석에서 확장 텍스트 문서작성 해야하는 경우가 있습니다 . 불행히도 표준 방법이 없습니다 .

그러나이 경우 사용할 수있는 몇 가지 개별 프로젝트가 있습니다.

간단한 메소드 주석

문서 주석은 설명하는 메소드 또는 클래스 바로 위에 위치합니다. 세 개의 슬래시 ( /// 시작하고 메타 정보를 XML로 저장할 수 있습니다.

/// <summary>
/// Bar method description
/// </summary>
public void Bar()
{ 
        
}

태그 내부의 정보는 Visual Studio 및 기타 도구에서 IntelliSense와 같은 서비스를 제공하는 데 사용할 수 있습니다.

메소드 xml 주석의 예

일반 문서 태그에 대한 Microsoft의 목록을 참조하십시오.

인터페이스 및 클래스 문서 주석

/// <summary>
/// This interface can do Foo
/// </summary>
public interface ICanDoFoo
{
    // ... 
}

/// <summary>
/// This Bar class implements ICanDoFoo interface
/// </summary>
public class Bar : ICanDoFoo
{
    // ...
}

결과

인터페이스 요약

인터페이스 요약

수업 요약

학급 요약

param을 사용한 메소드 문서 주석 및 요소 반환

/// <summary>
/// Returns the data for the specified ID and timestamp.
/// </summary>
/// <param name="id">The ID for which to get data. </param>
/// <param name="time">The DateTime for which to get data. </param>
/// <returns>A DataClass instance with the result. </returns>
public DataClass GetData(int id, DateTime time)
{
   // ...
}

IntelliSense 는 각 매개 변수에 대한 설명을 표시합니다.

매개 변수 설명

팁 : Intellisense가 Visual Studio에 표시되지 않으면 첫 번째 대괄호 또는 쉼표를 삭제 한 다음 다시 입력하십시오.

문서 주석으로부터 XML 생성하기

코드의 문서 주석에서 XML 문서 파일을 생성하려면 csc.exe C # 컴파일러에서 /doc 옵션을 사용하십시오.

Visual Studio 2013/2015의 프로젝트 -> 속성 -> 빌드 -> 출력 에서 XML documentation file 확인란을 선택합니다.

XML 문서 파일

프로젝트를 빌드 할 때 프로젝트 이름 (예 : XMLDocumentation.dll -> XMLDocumentation.xml )에 해당하는 이름으로 컴파일러에서 XML 파일을 생성합니다.

다른 프로젝트에서 어셈블리를 사용할 때는 XML 파일이 참조 할 DLL과 동일한 디렉터리에 있는지 확인하십시오.

이 예 :

/// <summary>
/// Data class description
/// </summary>
public class DataClass
{
    /// <summary>
    /// Name property description
    /// </summary>
    public string Name { get; set; }
}


/// <summary>
/// Foo function
/// </summary>
public class Foo
{
    /// <summary>
    /// This method returning some data
    /// </summary>
    /// <param name="id">Id parameter</param>
    /// <param name="time">Time parameter</param>
    /// <returns>Data will be returned</returns>
    public DataClass GetData(int id, DateTime time)
    {
        return new DataClass();
    }
}

빌드시이 XML을 생성합니다.

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>XMLDocumentation</name>
    </assembly>
    <members>
        <member name="T:XMLDocumentation.DataClass">
            <summary>
            Data class description
            </summary>
        </member>
        <member name="P:XMLDocumentation.DataClass.Name">
            <summary>
            Name property description
            </summary>
        </member>
        <member name="T:XMLDocumentation.Foo">
            <summary>
            Foo function
            </summary>
        </member>
        <member name="M:XMLDocumentation.Foo.GetData(System.Int32,System.DateTime)">
            <summary>
            This method returning some data
            </summary>
            <param name="id">Id parameter</param>
            <param name="time">Time parameter</param>
            <returns>Data will be returned</returns>
        </member>
    </members>
</doc>

문서에서 다른 클래스 참조하기

<see> 태그는 다른 클래스에 링크하는 데 사용될 수 있습니다. 그것은 참조 될 클래스의 이름을 포함해야하는 cref 멤버를 포함합니다. Visual Studio는이 태그를 작성할 때 Intellsense를 제공 ​​할 것이고 참조 된 클래스의 이름을 바꿀 때 이러한 참조가 처리 될 것입니다.

/// <summary>
/// You might also want to check out <see cref="SomeOtherClass"/>.
/// </summary>
public class SomeClass
{
}

Visual Studio Intellisense 팝업에서 이러한 참조는 텍스트로 표시됩니다.

제네릭 클래스를 참조하려면 다음과 비슷한 것을 사용하십시오.

/// <summary>
/// An enhanced version of <see cref="List{T}"/>.
/// </summary>
public class SomeGenericClass<T>
{
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow