Sdílet prostřednictvím


RequiresProvidesDirectiveProcessor – třída

Abstraktní základní třída pro směrnice procesoru, který definuje a implementuje návrhového vzoru jen vyžaduje nebo nabízí.

Hierarchie dědičnosti

Object
  Microsoft.VisualStudio.TextTemplating.DirectiveProcessor
    Microsoft.VisualStudio.TextTemplating.RequiresProvidesDirectiveProcessor

Obor názvů:  Microsoft.VisualStudio.TextTemplating
Sestavení:  Microsoft.VisualStudio.TextTemplating.12.0 (v Microsoft.VisualStudio.TextTemplating.12.0.dll)

Syntaxe

'Deklarace
Public MustInherit Class RequiresProvidesDirectiveProcessor _
    Inherits DirectiveProcessor
public abstract class RequiresProvidesDirectiveProcessor : DirectiveProcessor
public ref class RequiresProvidesDirectiveProcessor abstract : public DirectiveProcessor
[<AbstractClass>]
type RequiresProvidesDirectiveProcessor =  
    class 
        inherit DirectiveProcessor 
    end
public abstract class RequiresProvidesDirectiveProcessor extends DirectiveProcessor

Typ RequiresProvidesDirectiveProcessor zveřejňuje následující členy.

Konstruktory

  Název Popis
Chráněná metoda RequiresProvidesDirectiveProcessor Při přepsání v odvozené třídě inicializuje novou instanci RequiresProvidesDirectiveProcessor třídy.

Nahoru

Vlastnosti

  Název Popis
Chráněná vlastnost Errors Získá chyby, ke kterým došlo při zpracování direktivy. (Zděděno z DirectiveProcessor.)
Chráněná vlastnost FriendlyName Při přepsání v odvozené třídě získá popisný název směrnice procesoru.
Chráněná vlastnost Host Získá hostitele, který je přidružen k této směrnice procesoru.

Nahoru

Metody

  Název Popis
Veřejná metoda Equals Určuje, zda je zadaný objekt rovna aktuální objekt. (Zděděno z Object.)
Chráněná metoda Finalize Umožňuje objektu k pokusu uvolnit prostředky a provádět další operace vyčištění před je zažádáno systémem uvolňování paměti. (Zděděno z Object.)
Veřejná metoda FinishProcessingRun Dokončení zpracování směrnice kolo. (Přepisuje DirectiveProcessor.FinishProcessingRun().)
Chráněná metoda GeneratePostInitializationCode Při přepsání v odvozené třídě přidá kód kódem inicializace třídy vygenerované transformace.Tento kód je přidán po inicializaci základní třídy.
Chráněná metoda GeneratePreInitializationCode Při přepsání v odvozené třídě přidá kód kódem inicializace třídy vygenerované transformace.Tento kód je přidán před základní třída je inicializována.
Chráněná metoda GenerateTransformCode Při přepsání v odvozené třídě přidá kód třídy vygenerované transformace.
Veřejná metoda GetClassCodeForProcessingRun Získá kód, chcete-li přidat třídy vygenerované transformace. (Přepisuje DirectiveProcessor.GetClassCodeForProcessingRun().)
Veřejná metoda GetHashCode Slouží jako výchozí funkce hash. (Zděděno z Object.)
Veřejná metoda GetImportsForProcessingRun Získá-li obory názvů, které chcete importovat do třídy vygenerované transformace. (Přepisuje DirectiveProcessor.GetImportsForProcessingRun().)
Veřejná metoda GetPostInitializationCodeForProcessingRun Získá kód inicializace při inicializaci třídy vygenerované transformace v důsledku poslední spuštění zpracování. (Přepisuje DirectiveProcessor.GetPostInitializationCodeForProcessingRun().)
Veřejná metoda GetPreInitializationCodeForProcessingRun Získá kód inicializace při inicializaci třídy vygenerované transformace v důsledku poslední spuštění zpracování. (Přepisuje DirectiveProcessor.GetPreInitializationCodeForProcessingRun().)
Veřejná metoda GetReferencesForProcessingRun Získá odkazy předat kompilátor třídy vygenerované transformace. (Přepisuje DirectiveProcessor.GetReferencesForProcessingRun().)
Veřejná metoda GetTemplateClassCustomAttributes Získáte všechny vlastní atributy do třídy šablony. (Zděděno z DirectiveProcessor.)
Veřejná metoda GetType Získá Type aktuální instance. (Zděděno z Object.)
Veřejná metoda Initialize Inicializuje novou instanci směrnice procesoru. (Přepisuje DirectiveProcessor.Initialize(ITextTemplatingEngineHost).)
Chráněná metoda InitializeProvidesDictionary Při přepsání v odvozené třídě Určuje poskytuje parametry pro jednotlivé směrnice.
Chráněná metoda InitializeRequiresDictionary Při přepsání v odvozené třídě Určuje vyžaduje parametry pro jednotlivé směrnice.
Veřejná metoda IsDirectiveSupported Při přepsání v odvozené třídě, určí, zda směrnice procesoru podporuje určené směrnicí. (Zděděno z DirectiveProcessor.)
Chráněná metoda MemberwiseClone Vytvoří mělká kopie aktuálního Object. (Zděděno z Object.)
Chráněná metoda PostProcessArguments Při přepsání v odvozené třídě umožňuje provádět změny parametrů, které poskytují a vyžadují odvozené třídy.
Veřejná metoda ProcessDirective Zpracovává jediné směrnice z textového souboru šablony. (Přepisuje DirectiveProcessor.ProcessDirective(String, IDictionary<String, String>).)
Chráněná metoda ProvideUniqueId Poskytuje Identifikátor, který identifikuje volání směrnice procesoru.
Veřejná metoda StartProcessingRun Spustí směrnice procesoru. (Přepisuje DirectiveProcessor.StartProcessingRun(CodeDomProvider, String, CompilerErrorCollection).)
Veřejná metoda ToString Vrátí řetězec, který představuje aktuální objekt. (Zděděno z Object.)

Nahoru

Explicitní implementace rozhraní

  Název Popis
Explicitní implementace rozhraníSoukromá vlastnost IDirectiveProcessor.Errors (Zděděno z DirectiveProcessor.)
Explicitní implementace rozhraníSoukromá vlastnost IDirectiveProcessor.RequiresProcessingRunIsHostSpecific (Zděděno z DirectiveProcessor.)
Explicitní implementace rozhraníSoukromá metoda IDirectiveProcessor.SetProcessingRunIsHostSpecific (Zděděno z DirectiveProcessor.)

Nahoru

Poznámky

Chcete-li vytvořit vlastní směrnice procesoru, vytvoříte třídu, která dědí z buď DirectiveProcessor nebo RequiresProvidesDirectiveProcessor.

DirectiveProcessorimplementuje rozhraní, který je nutný k zachycení parametry uživatele a poskytuje funkce pro třídy vygenerované transformace.RequiresProvidesDirectiveProcessorRequiresProvidesDirectiveProcessorimplementuje návrhového vzoru vyžaduje poskytnutís pro směrnice procesoru.RequiresProvidesDirectiveProcessorposkytuje další funkce pro zachycení parametry uživatele a poskytuje určitou vlastnost názvy funkcí třídy vygenerované transformace.

Další informace naleznete v tématu Vytváření vlastních procesorů pro direktivy textových šablon T4.

Modul transformace platí pro všechny požadované jedináček RequiresProvidesDirectiveProcessor třídy.

RequiresProvidesDirectiveProcessorimplementuje stavový stroj.

Pokud text šablony obsahuje tři volání směrnice procesoru stejné směrnice, modul volá následující metody v pořadí:

Příklady

Následující příklad ukazuje, jak použít RequiresProvidesDirectiveProcessor.

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.VisualStudio.TextTemplating;
using System.Xml;
using System.IO;
using System.Globalization;

namespace Microsoft.Samples.VisualStudio.TextTemplating.DirectiveProcessors
{
public class DomDirectiveProcessor : RequiresProvidesDirectiveProcessor
{

// Name of the tag that this directive processor supports.
private const string DomDirectiveTag = "dom";

//Name of the parameter that must be provided for this directive processor to load an XML file
private const string XmlFileRequiredParameterName = "XmlFile";

// Default name of the property that this provider adds to the generated transform class.
private const string DomProvidedParameterName = "Dom";

// Set up the dictionary of items that this directive processor will provide.
protected override void InitializeProvidesDictionary(string directiveName, IDictionary<string, string> providesDictionary)
{
if (StringComparer.InvariantCultureIgnoreCase.Compare(directiveName, DomDirectiveTag) == 0)
{
// Populate the dictionary with defualt names.
providesDictionary[DomProvidedParameterName] = DomProvidedParameterName;
}
}

// Set up the dictionary of items that this directive processor requires to complete.
protected override void InitializeRequiresDictionary(string directiveName, IDictionary<string, string> requiresDictionary)
{
if (StringComparer.InvariantCultureIgnoreCase.Compare(directiveName, DomDirectiveTag) == 0)
{
// Initialize the dictionary with nulls for each required parameter.
requiresDictionary[XmlFileRequiredParameterName] = null;
}
}
}
}

Bezpečný přístup z více vláken

Všechny veřejné členy static (Shared v jazyce Visual Basic) tohoto typu jsou bezpečné pro přístup z více vláken. Není zaručeno, že členy instancí jsou bezpečné pro přístup z více vláken.

Viz také

Referenční dokumentace

Microsoft.VisualStudio.TextTemplating – obor názvů

DirectiveProcessor

Další zdroje

Vytváření vlastních procesorů pro direktivy textových šablon T4