2014-09-24 4 views
8

Sandcastles를 사용하여 생성하는 CHM 파일에 코드 예제를 포함하려고합니다.Sandcastles에 대한 별도의 파일에 코드 예제 포함

/// <summary> 
/// Lorem ipsum. 
/// </summary> 
/// <example> 
/// <code> 
/// public int Test 
/// { 
/// private int test { get; set } 
/// private int test2 { get; set; } 
/// public int findE() 
/// { 
/// if(test == test2){ 
/// return Console.WriteLine("Variables are Equal") 
/// } 
/// else{ 
/// return Console.WriteLine("Variables are not equal") 
/// } 
/// } 
/// } 
/// </code> 
/// </example> 

이 매우 지저분하고 차라리 내 .cs 파일에이 코드가없는 것 : 여기에 지금까지 가지고있는 것입니다. 별도의 .cs 파일에이 예제 코드를 넣는 방법이 있으며 주석에서 이것을 참조 할 수 있습니까? 그래서 대신 나는 다음과 같은 것을 가질 것입니다 :

/// <summary> 
/// Lorem ipsum. 
/// </summary> 
/// <reference src="mycode.cs"> 
/// </example> 

답변

10

확실히. example.cs라는 외부 코드 파일을 생성한다고합시다. 이 파일에 예제를 배치하고 이름은 region으로 둘러 쌉니다. 언어를 지정하는 것과 같은 C#을 필요하지 않습니다

/// <summary>blah blah my class</summary> 
/// <example><code source="Example.cs" region="example1" lang="C#" 
/// title="Some Title to Display" /></example> 
public class Hurr 
{ 
// ... 

: 당신이 예제를 만드는 요소의 XML 주석에

#region example1 
Console.WriteLine("Hello, World!"); 
#endregion 

, 당신은 외부 코드 예제의 소스를 지정 영역을 지정하지 않으면 예제 파일의 모든 코드가 포함됩니다.

또한 소스 파일 경로는 SHFB 프로젝트 파일과 관련이 있으며 Visual Studio 프로젝트 파일과 관련이 없습니다. 코드 블록 구성 요소 (SHFB -> 프로젝트 속성 -> 구성 요소)를 구성하면 다른 기본 경로를 지정할 수 있습니다.

+0

대단히 감사합니다. 완벽하게 작동했습니다. +1 –