2
當我們在Visual Studio中添加一個新的類,我們得到了一個模板代碼Visual Studio如何生成類模板?
namespace MyProject
{
class Class1
{
}
}
如何,Visual Studio生成的代碼?它是否使用CodeDOM或T4Template或其他東西?
當我們在Visual Studio中添加一個新的類,我們得到了一個模板代碼Visual Studio如何生成類模板?
namespace MyProject
{
class Class1
{
}
}
如何,Visual Studio生成的代碼?它是否使用CodeDOM或T4Template或其他東西?
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
我不知道爲什麼他們沒有使用T4爲此。 – svick
根據維基百科,T4於2005年首次發佈,所以Visual Studio模板必須在此之前存在 - https://en.wikipedia.org/wiki/Text_Template_Transformation_Toolkit –