2013-04-02 58 views
2

當我們在Visual Studio中添加一個新的類,我們得到了一個模板代碼Visual Studio如何生成類模板?

namespace MyProject 
{ 
    class Class1 
    { 
    } 
} 

如何,Visual Studio生成的代碼?它是否使用CodeDOM或T4Template或其他東西?

回答

2

Visual Studio有自己的project and file templates。在C#類文件模板,例如,包括在一個XML元數據文件和類模板的.zip文件:

using System; 
using System.Collections.Generic; 
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq; 
$endif$using System.Text; 

namespace $rootnamespace$ 
{ 
    class $safeitemrootname$ 
    { 
    } 
} 

Visual Studio中最有可能做一個簡單的字符串替換$之間定義的各種參數當它基於這些模板創建一個新文件時。

如果您查看Visual Studio文件夾的內部,您可以找到包含文件和項目模板的各種.zip文件。爲Visual Studio 2010的文件模板內裝在父文件夾的子文件夾裏面:

C:\ Program Files文件(x86)的\微軟的Visual Studio 10.0 \ Common7 \ IDE \的ItemTemplate

+0

我不知道爲什麼他們沒有使用T4爲此。 – svick

+0

根據維基百科,T4於2005年首次發佈,所以Visual Studio模板必須在此之前存在 - https://en.wikipedia.org/wiki/Text_Template_Transformation_Toolkit –