2014-09-24 70 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

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

在为正在创建的例子元素的XML注释,你指定的外部代码示例的源:

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

指定的语言是没有必要的C#作为是默认的,如果你不指定区域,它将包含示例文件中的所有代码。

另请注意,源文件路径与您的SHFB项目文件相关,不一定是Visual Studio项目文件。如果您配置了代码块组件(在SHFB - >项目属性 - >组件中),您可以指定一个不同的基本路径。

+0

非常感谢,工作完美。 +1给你 – 2014-09-24 16:06:12

相关问题