다음을 통해 공유


cref 특성(C# 프로그래밍 가이드)

XML 문서 태그의 cref 특성은 "코드 참조"를 의미합니다. 이는 태그 안쪽의 텍스트가 형식, 메서드 또는 속성 같은 코드 요소임을 뜻합니다. Sandcastle 같은 문서 도구에서 cref 특성을 사용하여 형식이나 멤버가 문서화되어 있는 페이지로 연결되는 하이퍼링크를 자동으로 생성할 수 있습니다.

예제

다음 예제에서는 <see> 태그에 사용되는 cref 특성을 보여 줍니다.

// Save this file as CRefTest.cs 
// Compile with: csc CRefTest.cs /doc:Results.xml  

namespace TestNamespace
{
    /// <summary> 
    /// TestClass contains several cref examples. 
    /// </summary> 
    public class TestClass
    {
        /// <summary> 
        /// This sample shows how to specify the <see cref="TestClass"/> constructor as a cref attribute.�
        /// </summary> 
        public TestClass()
        { }

        /// <summary> 
        /// This sample shows how to specify the <see cref="TestClass(int)"/> constructor as a cref attribute.�
        /// </summary> 
        public TestClass(int value)
        { }

        /// <summary> 
        /// The GetZero method. 
        /// </summary> 
        /// <example>  
        /// This sample shows how to call the <see cref="GetZero"/> method.
        /// <code> 
        /// class TestClass  
        /// { 
        ///     static int Main()  
        ///     { 
        ///         return GetZero(); 
        ///     } 
        /// } 
        /// </code> 
        /// </example> 
        public static int GetZero()
        {
            return 0;
        }

        /// <summary> 
        /// The GetGenericValue method. 
        /// </summary> 
        /// <remarks>  
        /// This sample shows how to specify the <see cref="GetGenericValue"/> method as a cref attribute.
        /// </remarks> 

        public static T GetGenericValue<T>(T para)
        {
            return para;
        }
    }

    /// <summary> 
    /// GenericClass. 
    /// </summary> 
    /// <remarks>  
    /// This example shows how to specify the <see cref="GenericClass{T}"/> type as a cref attribute.
    /// </remarks> 
    class GenericClass<T>
    {
        // Fields and members.
    }

    class Program
    {
        static int Main()
        {
            return TestClass.GetZero();
        }
    }
}

컴파일을 마치면 프로그램을 통해 다음과 같은 XML 파일이 생성됩니다. 예를 들어 GetZero 메서드에 대한 cref 속성은 컴파일러를 통해 "M:TestNamespace.TestClass.GetZero"로 변환되었습니다. "M:" 접두사는 "메서드"를 의미하며 Sandcastle 같은 문서 도구에서 인식할 수 있는 규칙 중 하나입니다. 접두사의 전체 목록은 XML 파일 처리(C# 프로그래밍 가이드)를 참조하십시오.

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>CRefTest</name>
    </assembly>
    <members>
        <member name="T:TestNamespace.TestClass">
            <summary>
            TestClass contains cref examples.
            </summary>
        </member>
        <member name="M:TestNamespace.TestClass.#ctor">
            <summary>
            This sample shows how to specify the <see cref="T:TestNamespace.TestClass"/> constructor as a cref attribute. 
            </summary>
        </member>
        <member name="M:TestNamespace.TestClass.#ctor(System.Int32)">
            <summary>
            This sample shows how to specify the <see cref="M:TestNamespace.TestClass.#ctor(System.Int32)"/> constructor as a cref attribute. 
            </summary>
        </member>
        <member name="M:TestNamespace.TestClass.GetZero">
            <summary>
            The GetZero method.
            </summary>
            <example> 
            This sample shows how to call the <see cref="M:TestNamespace.TestClass.GetZero"/> method.
            <code>
            class TestClass 
            {
                static int Main() 
                {
                    return GetZero();
                }
            }
            </code>
            </example>
        </member>
        <member name="M:TestNamespace.TestClass.GetGenericValue``1(``0)">
            <summary>
            The GetGenericValue method.
            </summary>
            <remarks> 
            This sample shows how to specify the <see cref="M:TestNamespace.TestClass.GetGenericValue``1(``0)"/> method as a cref attribute.
            </remarks>
        </member>
        <member name="T:TestNamespace.GenericClass`1">
            <summary>
            GenericClass.
            </summary>
            <remarks> 
            This example shows how to specify the <see cref="T:TestNamespace.GenericClass`1"/> type as a cref attribute.
            </remarks>
        </member>
    </members>    <members>
        <member name="T:TestNamespace.TestClass">
            <summary>
            TestClass contains two cref examples.
            </summary>
        </member>
        <member name="M:TestNamespace.TestClass.GetZero">
            <summary>
            The GetZero method.
            </summary>
            <example> This sample shows how to call the <see cref="M:TestNamespace.TestClass.GetZero"/> method.
            <code>
            class TestClass 
            {
                static int Main() 
                {
                    return GetZero();
                }
            }
            </code>
            </example>
        </member>
        <member name="M:TestNamespace.TestClass.GetGenericValue``1(``0)">
            <summary>
            The GetGenericValue method.
            </summary>
            <remarks> 
            This sample shows how to specify the <see cref="M:TestNamespace.TestClass.GetGenericValue``1(``0)"/> method as a cref attribute.
            </remarks>
        </member>
        <member name="T:TestNamespace.GenericClass`1">
            <summary>
            GenericClass.
            </summary>
            <remarks> 
            This example shows how to specify the <see cref="T:TestNamespace.GenericClass`1"/> type as a cref attribute.
            </remarks>
        </member>
    </members>
</doc>

참고 항목

참조

XML 문서 주석(C# 프로그래밍 가이드)

문서 주석에 대한 권장 태그(C# 프로그래밍 가이드)