Parametry šablony

Hodnoty v šabloně můžete nahradit při vytváření instance šablony. K nastavení této funkce použijte parametry šablony. Parametry šablony lze použít k nahrazení hodnot, jako jsou názvy tříd a obory názvů v šabloně. Průvodce šablonou, který běží na pozadí, když uživatel přidá novou položku nebo projekt nahradí tyto parametry.

Deklarace a povolení parametrů šablony

Parametry šablony jsou deklarovány ve formátu $parameter$. Příklad:

  • $rootnamespace$

  • $guid 1$

  • $guid 5$

Povolení nahrazení parametrů v šablonách

  1. V souboru .vstemplate šablony vyhledejte ProjectItem prvek, který odpovídá položce, pro kterou chcete povolit nahrazení parametru.

  2. ReplaceParameters Nastavte atribut ProjectItem prvku na true.

  3. Do souboru kódu pro položku projektu uveďte parametry, kde je to vhodné. Například následující parametr určuje, že kořenový obor názvů se používá pro obor názvů v souboru:

    namespace $rootnamespace$
    

Rezervované parametry šablony

V následující tabulce jsou uvedeny parametry rezervované šablony, které můžou používat libovolná šablona:

Parametr Popis
clrversion Aktuální verze modulu CLR (Common Language Runtime).
Ext_* Přidejte předponu ext_ k libovolnému parametru, který odkazuje na proměnné nadřazené šablony. Například ext_safeprojectname.
guid[1-10] Identifikátor GUID použitý k nahrazení identifikátoru GUID projektu v souboru projektu. Můžete zadat až 10 jedinečných identifikátorů GUID (například guid1).
itemname Název souboru, ve kterém se parametr používá.
Machinename Název aktuálního počítače (například Computer01).
Projectname Jméno zadané uživatelem při vytvoření projektu. Tento parametr se vztahuje pouze na šablony projektů.
zaregistrovaná uspořádání Hodnota klíče registru z HKLM\Software\Microsoft\systém Windows NT\CurrentVersion\RegisteredOrganization.
Rootnamespace Kořenový obor názvů aktuálního projektu následovaný podsložkou aktuální položky s lomítky nahrazenými tečkami.
defaultnamespace Kořenový obor názvů aktuálního projektu.
safeitemname Stejné jako itemname všechny nebezpečné znaky a mezery nahrazené podtržítkem.
safeitemrootname Stejné jako safeitemname.
safeprojectname Jméno zadané uživatelem při vytvoření projektu, ale se všemi nebezpečnými znaky a mezerami se odeberou. Tento parametr se vztahuje pouze na šablony projektů.
targetframeworkversion Aktuální verze cílového rozhraní .NET Framework.
čas Aktuální čas ve formátu, který je založený na uživatelském nastavení Windows. Jedním z příkladů formátu času je DD/MM/RRRR 00:00:00.00.
specifiedsolutionname Název řešení. Pokud je nezaškrtnutá možnost Umístit řešení a projekt do stejného adresáře, specifiedsolutionname má název řešení. Pokud není zaškrtnuto políčko „vytvořit adresář řešení“, specifiedsolutionname je prázdné.
userdomain Aktuální doména uživatele.
username Aktuální uživatelské jméno.
webnamespace Název aktuálního webu. Tento parametr se používá v šabloně webového formuláře k zajištění jedinečných názvů tříd. Pokud je web v kořenovém adresáři webového serveru, tento parametr šablony se přeloží na kořenový adresář webového serveru.
za rok Aktuální rok ve formátu RRRR.

Poznámka:

U parametrů šablony se rozlišují malá a velká písmena.

Vlastní parametry šablony

Kromě výchozích parametrů rezervované šablony, které se používají při nahrazování parametrů, můžete zadat vlastní parametry a hodnoty šablony. Další informace naleznete v tématu CustomParameters element (šablony sady Visual Studio).

Příklad: Použití názvu projektu pro název souboru

Názvy souborů proměnných pro položky projektu můžete zadat pomocí parametru v atributu TargetFileName .

Následující příklad určuje, že název spustitelného souboru používá název projektu určený $projectname$.

<TemplateContent>
    <ProjectItem
        ReplaceParameters="true"
        TargetFileName="$projectname$.exe">
            File1.exe
    </ProjectItem>
      ...
</TemplateContent>

Příklad: Použití názvu bezpečného projektu pro název oboru názvů

Pokud chcete použít název bezpečného projektu pro obor názvů v souboru třídy jazyka C#, použijte následující syntaxi:

namespace $safeprojectname$
{
    public class Class1
    {
        public Class1()
        { }
    }
}

Do souboru .vstemplate pro šablonu projektu při odkazování na soubor zahrňte ReplaceParameters="true" atribut:

<TemplateContent>
    <ProjectItem ReplaceParameters="true">
        Class1.cs
    </ProjectItem>
    ...
</TemplateContent>

Viz také