Sdílet prostřednictvím


RequiresProvidesDirectiveProcessor – třída

Abstraktní základní třída pro procesor směrnice definuje a implementuje návrhového vzoru se nazývají vyžaduje nebo nabízí.

Hierarchie dědičnosti

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

Obor názvů:  Microsoft.VisualStudio.TextTemplating
Sestavení:  Microsoft.VisualStudio.TextTemplating.10.0 (v Microsoft.VisualStudio.TextTemplating.10.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řída

Na začátek

Vlastnosti

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

Na začátek

Metody

  Název Popis
Veřejná metoda Equals Určuje, zda zadaná Object se rovná aktuální Object. (Zděděno z Object.)
Chráněná metoda Finalize Umožňuje zkuste uvolnit prostředky a provádět další operace vyčištění před je převzaty systémem pro uvolnění objektu. (Zděděno z Object.)
Veřejná metoda FinishProcessingRun Zpracování směrnice končí. (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ána před inicializován základní třídy.
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 Načtení kódu přidat třídy vygenerované transformace. (Přepisuje DirectiveProcessor.GetClassCodeForProcessingRun().)
Veřejná metoda GetHashCode Slouží jako funkce hash určitého typu. (Zděděno z Object.)
Veřejná metoda GetImportsForProcessingRun Získá obory 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 GetType Získává Type aktuální instance. (Zděděno z Object.)
Veřejná metoda Initialize Inicializuje instanci směrnice procesoru. (Přepisuje DirectiveProcessor.Initialize(ITextTemplatingEngineHost).)
Chráněná metoda InitializeProvidesDictionary Přepsat v odvozené třídě Určuje poskytuje parametry pro jednotlivé směrnice.
Chráněná metoda InitializeRequiresDictionary Přepsat 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čuje, zda směrnice procesor podporuje určené směrnicí. (Zděděno z DirectiveProcessor.)
Chráněná metoda MemberwiseClone Vytvoří kopii aktuální Object. (Zděděno z Object.)
Chráněná metoda PostProcessArguments Umožňuje provádět změny parametrů, které poskytují a vyžadují odvozené třídy při přepsán v odvozené třídě.
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 Obsahuje Identifikátor, který identifikuje volání směrnice procesoru.
Veřejná metoda StartProcessingRun Spuštění procesoru směrnice. (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.)

Na začátek

Poznámky

Chcete-li vytvořit vlastní procesor směrnice vytvořit třídu, která dědí ze DirectiveProcessor nebo RequiresProvidesDirectiveProcessor.

DirectiveProcessorimplementuje rozhraní, který je nutný k zachycení parametry uživatele a poskytuje funkce pro třídu vygenerované transformace. RequiresProvidesDirectiveProcessor RequiresProvidesDirectiveProcessorimplementuje návrhového vzoru vyžaduje poskytnutís směrnice procesoru. RequiresProvidesDirectiveProcessorposkytuje další zařízení pro zachycení parametry uživatele a poskytuje funkce třídy vygenerované transformace názvy konkrétních vlastností.

Další informace naleznete v tématu Vytváření Uživatelský text šablona směrnice procesory.

Transformace motoru nejednoznačné platí pro všechny požadované RequiresProvidesDirectiveProcessor Třída

RequiresProvidesDirectiveProcessorimplementuje stavový stroj.

Například pokud šablona text obsahuje tři směrnice volání téže směrnice procesoru, motor volá následující metody v pořadí:

Příklady

Následující příklad demonstruje použití 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;
}
}
}
}

Zabezpečení podprocesu

Všechny veřejné členy static (Shared v jazyce Visual Basic) tohoto typu jsou zabezpečeny pro používání podprocesů. Zabezpečení sdílených členů pro používání podprocesů není zaručeno.

Viz také

Odkaz

Microsoft.VisualStudio.TextTemplating – obor názvů

DirectiveProcessor

Další zdroje

Vytváření Uživatelský text šablona směrnice procesory