Klasa RequiresProvidesDirectiveProcessor
Abstrakcyjna klasa podstawowa dla procesora dyrektywa, która definiuje i implementuje wzorca projektowania, nazywane wymaga/miejsce.
Hierarchia dziedziczenia
System.Object
Microsoft.VisualStudio.TextTemplating.DirectiveProcessor
Microsoft.VisualStudio.TextTemplating.RequiresProvidesDirectiveProcessor
Przestrzeń nazw: Microsoft.VisualStudio.TextTemplating
Zestaw: Microsoft.VisualStudio.TextTemplating.11.0 (w Microsoft.VisualStudio.TextTemplating.11.0.dll)
Składnia
'Deklaracja
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 uwidacznia następujące elementy członkowskie.
Konstruktorzy
Nazwa | Opis | |
---|---|---|
![]() |
RequiresProvidesDirectiveProcessor | Gdy zastąpiony w klasie pochodnej, inicjuje nowe wystąpienie RequiresProvidesDirectiveProcessor klasy. |
Początek
Właściwości
Nazwa | Opis | |
---|---|---|
![]() |
Errors | Pobiera błędów, które wystąpiły podczas przetwarzania dyrektyw. (Odziedziczone z DirectiveProcessor). |
![]() |
FriendlyName | Gdy zastąpiony w klasie pochodnej, pobiera się przyjazna nazwa procesora w dyrektywie. |
![]() |
Host | Pobiera hosta, który jest skojarzony z tym dyrektywa procesora. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
![]() |
Equals | Określa, czy określony obiekt jest równa bieżącego obiektu. (Odziedziczone z Object). |
![]() |
Finalize | Umożliwia obiekt spróbuj zwolnić zasoby i wykonywania innych operacji oczyszczania, zanim jest odzyskane w procesie wyrzucania elementów bezużytecznych. (Odziedziczone z Object). |
![]() |
FinishProcessingRun | Zakończy przetwarzania dyrektywy. (Zastępuje DirectiveProcessor.FinishProcessingRun()). |
![]() |
GeneratePostInitializationCode | Gdy zastąpiony w klasie pochodnej, dodaje kod do kodu inicjowania klasy generowane transformacji.Ten kod jest dodawany po klasy podstawowej jest zainicjowany. |
![]() |
GeneratePreInitializationCode | Gdy zastąpiony w klasie pochodnej, dodaje kod do kodu inicjowania klasy generowane transformacji.Ten kod zostanie dodany przed klasy podstawowej jest zainicjowany. |
![]() |
GenerateTransformCode | Gdy zastąpiony w klasie pochodnej, dodaje kod do klasy generowane transformacji. |
![]() |
GetClassCodeForProcessingRun | Pobiera kod, aby dodać do klasy generowane transformacji. (Zastępuje DirectiveProcessor.GetClassCodeForProcessingRun()). |
![]() |
GetHashCode | Służy jako funkcja mieszania dla określonego typu. (Odziedziczone z Object). |
![]() |
GetImportsForProcessingRun | Pobiera obszarów nazw do zaimportowania klasy generowane transformacji. (Zastępuje DirectiveProcessor.GetImportsForProcessingRun()). |
![]() |
GetPostInitializationCodeForProcessingRun | Pobiera kod, aby zainicjować podczas inicjowania klasy generowane transformacji, z najnowszych przetwarzania uruchomić. (Zastępuje DirectiveProcessor.GetPostInitializationCodeForProcessingRun()). |
![]() |
GetPreInitializationCodeForProcessingRun | Pobiera kod, aby zainicjować podczas inicjowania klasy generowane transformacji, z najnowszych przetwarzania uruchomić. (Zastępuje DirectiveProcessor.GetPreInitializationCodeForProcessingRun()). |
![]() |
GetReferencesForProcessingRun | Pobiera odwołania do przekazania do kompilator klas generowanych transformacji. (Zastępuje DirectiveProcessor.GetReferencesForProcessingRun()). |
![]() |
GetTemplateClassCustomAttributes | Pobierz atrybuty niestandardowe w klasie szablonu. (Odziedziczone z DirectiveProcessor). |
![]() |
GetType | Pobiera Type bieżącej instancji. (Odziedziczone z Object). |
![]() |
Initialize | Inicjuje wystąpienie dyrektywa procesora. (Zastępuje DirectiveProcessor.Initialize(ITextTemplatingEngineHost)). |
![]() |
InitializeProvidesDictionary | Określa, kiedy zastąpiony w klasie pochodnej, zawiera parametry dla każdej dyrektywy. |
![]() |
InitializeRequiresDictionary | Określa, kiedy zastąpiony w klasie pochodnej, wymaga parametry dla każdej dyrektywy. |
![]() |
IsDirectiveSupported | Zastąpiony w klasie pochodnej, ustala, czy dyrektywa procesora obsługuje określony dyrektywą. (Odziedziczone z DirectiveProcessor). |
![]() |
MemberwiseClone | Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object). |
![]() |
PostProcessArguments | Gdy zastąpiony w klasie pochodnej, umożliwia klas pochodnych do wprowadzenia jakichkolwiek zmian do parametrów, które zapewniają i wymagają. |
![]() |
ProcessDirective | Przetwarza jedna dyrektywa z pliku szablonu tekstu. (Zastępuje DirectiveProcessor.ProcessDirective(String, IDictionary<String, String>)). |
![]() |
ProvideUniqueId | Zawiera identyfikator, który identyfikuje wywołanie dyrektywa procesora. |
![]() |
StartProcessingRun | Uruchamia dyrektywa procesora. (Zastępuje DirectiveProcessor.StartProcessingRun(CodeDomProvider, String, CompilerErrorCollection)). |
![]() |
ToString | Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object). |
Początek
Jawne implementacje interfejsu
Nazwa | Opis | |
---|---|---|
![]() ![]() |
IDirectiveProcessor.Errors | (Odziedziczone z DirectiveProcessor). |
![]() ![]() |
IDirectiveProcessor.RequiresProcessingRunIsHostSpecific | (Odziedziczone z DirectiveProcessor). |
![]() ![]() |
IDirectiveProcessor.SetProcessingRunIsHostSpecific | (Odziedziczone z DirectiveProcessor). |
Początek
Uwagi
Aby utworzyć niestandardowe procesora w dyrektywie, należy utworzyć klasy, która dziedziczy albo DirectiveProcessor lub RequiresProvidesDirectiveProcessor.
DirectiveProcessorimplementuje interfejs, który jest wymagany do przechwytywania od użytkownika parametrów i oferuje funkcjonalność klasy generowane transformacji.RequiresProvidesDirectiveProcessorRequiresProvidesDirectiveProcessorimplementuje wzorzec projektowania wymaga zapewnienias dla procesora w dyrektywie.RequiresProvidesDirectiveProcessorzapewnia dodatkowe urządzenia do przechwytywania od użytkownika parametrów i zapewnia funkcjonalność klasy generowane transformacji z nazw określonych właściwości.
Aby uzyskać więcej informacji, zobacz Tworzenie niestandardowych T4 tekst szablonu dyrektywy procesorów.
Silnik transformacji posiada singleton wszelkich wymaganych RequiresProvidesDirectiveProcessor klasy.
RequiresProvidesDirectiveProcessorimplementuje komputera stanu.
Na przykład jeśli szablon tekst ma trzy dyrektywa wywołania do tej samej dyrektywy procesora, silnika wywołuje następujące metody w kolejności:
StartProcessingRun
Przykłady
Poniższy przykład demonstruje, jak używać 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;
}
}
}
}
Bezpieczeństwo wątku
Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.
Zobacz też
Informacje
Przestrzeń nazw Microsoft.VisualStudio.TextTemplating
Inne zasoby
Tworzenie niestandardowych T4 tekst szablonu dyrektywy procesorów