Klasa RequiresProvidesDirectiveProcessor
Abstrakcyjna klasa podstawowa dla dyrektywy procesora, który określa i wykonuje wzorzec projektowania nazywane wymaga/miejsce.
Hierarchia dziedziczenia
Object
Microsoft.VisualStudio.TextTemplating.DirectiveProcessor
Microsoft.VisualStudio.TextTemplating.RequiresProvidesDirectiveProcessor
Przestrzeń nazw: Microsoft.VisualStudio.TextTemplating
Zestaw: Microsoft.VisualStudio.TextTemplating.12.0 (w Microsoft.VisualStudio.TextTemplating.12.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 | Po zastąpieniu 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 | Po zastąpieniu w klasie pochodnej, pobiera przyjazna nazwa tekstów w dyrektywie. |
![]() |
Host | Pobiera hosta, który jest skojarzony z tym procesorem w dyrektywie. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
![]() |
Equals | Determines whether the specified object is equal to the current object. (Odziedziczone z Object). |
![]() |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Odziedziczone z Object). |
![]() |
FinishProcessingRun | Zakończy rozdanie Dyrektywa przetwarzania. (Zastępuje DirectiveProcessor.FinishProcessingRun()). |
![]() |
GeneratePostInitializationCode | Po zastąpieniu w klasie pochodnej, dodaje kod do kodu inicjowania klasy wygenerowany transformacji.Ten kod jest dodawany po klasie podstawowej jest inicjowany. |
![]() |
GeneratePreInitializationCode | Po zastąpieniu w klasie pochodnej, dodaje kod do kodu inicjowania klasy wygenerowany transformacji.Ten kod jest dodawane przed zainicjowaniem klasy podstawowej. |
![]() |
GenerateTransformCode | Po zastąpieniu w klasie pochodnej, dodaje kod do klasy wygenerowany transformacji. |
![]() |
GetClassCodeForProcessingRun | Pobiera kod, aby dodać do klasy wygenerowany transformacji. (Zastępuje DirectiveProcessor.GetClassCodeForProcessingRun()). |
![]() |
GetHashCode | Serves as the default hash function. (Odziedziczone z Object). |
![]() |
GetImportsForProcessingRun | Pobiera obszarów nazw do importowania do klasy wygenerowany transformacji. (Zastępuje DirectiveProcessor.GetImportsForProcessingRun()). |
![]() |
GetPostInitializationCodeForProcessingRun | Pobiera kod, aby zainicjować podczas inicjowania klasy wygenerowany transformacji wyniku najnowszych przetwarzania Uruchom. (Zastępuje DirectiveProcessor.GetPostInitializationCodeForProcessingRun()). |
![]() |
GetPreInitializationCodeForProcessingRun | Pobiera kod, aby zainicjować podczas inicjowania klasy wygenerowany transformacji wyniku najnowszych przetwarzania Uruchom. (Zastępuje DirectiveProcessor.GetPreInitializationCodeForProcessingRun()). |
![]() |
GetReferencesForProcessingRun | Pobiera odwołań do przekazania do kompilatora klasy wygenerowany transformacji. (Zastępuje DirectiveProcessor.GetReferencesForProcessingRun()). |
![]() |
GetTemplateClassCustomAttributes | Pobierz wszystkie atrybuty niestandardowe umieścić na szablonu klasy. (Odziedziczone z DirectiveProcessor). |
![]() |
GetType | Gets the Type of the current instance. (Odziedziczone z Object). |
![]() |
Initialize | Inicjuje wystąpienie procesora w dyrektywie. (Zastępuje DirectiveProcessor.Initialize(ITextTemplatingEngineHost)). |
![]() |
InitializeProvidesDictionary | Po zastąpieniu w klasie pochodnej, określa zawiera parametry dla każdej dyrektywy. |
![]() |
InitializeRequiresDictionary | Po zastąpieniu w klasie pochodnej, określa wymaga parametry dla każdej dyrektywy. |
![]() |
IsDirectiveSupported | Po zastąpieniu w klasie pochodnej, określa, czy dyrektywa procesor obsługuje określony dyrektywą. (Odziedziczone z DirectiveProcessor). |
![]() |
MemberwiseClone | Creates a shallow copy of the current Object. (Odziedziczone z Object). |
![]() |
PostProcessArguments | Po zastąpieniu w klasie pochodnej, pozwala klas pochodnych do wprowadzenia wszelkich zmian do parametrów, które zapewniają i wymagają. |
![]() |
ProcessDirective | Przetwarza jedna dyrektywa szablonu w pliku tekstowym. (Zastępuje DirectiveProcessor.ProcessDirective(String, IDictionary<String, String>)). |
![]() |
ProvideUniqueId | Zawiera identyfikator, który identyfikuje wywołanie procesora w dyrektywie. |
![]() |
StartProcessingRun | Rozpoczyna się w dyrektywie procesora. (Zastępuje DirectiveProcessor.StartProcessingRun(CodeDomProvider, String, CompilerErrorCollection)). |
![]() |
ToString | Returns a string that represents the current object. (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ć niestandardowy procesor w dyrektywie, należy utworzyć klasy, która dziedziczy z jednej DirectiveProcessor lub RequiresProvidesDirectiveProcessor.
DirectiveProcessorimplementuje interfejs, który jest wymagany do przechwytywania od użytkownika parametrów i zapewnia funkcje dla klasy wygenerowany transformacji.RequiresProvidesDirectiveProcessorRequiresProvidesDirectiveProcessorimplementuje wzorca projektowego wymaga zapewnienias dla procesora w dyrektywie.RequiresProvidesDirectiveProcessorzapewnia dodatkowe urządzenia do przechwytywania od użytkownika parametrów i zapewnia funkcje do klasy wygenerowany transformacji z nazw określonych właściwości.
Aby uzyskać więcej informacji, zobacz Tworzenie niestandardowych procesorów dyrektywy T4 dotyczącej szablonu tekstowego.
Pojedyncza aparat przekształcenie odnosi się do wszystkie wymagane RequiresProvidesDirectiveProcessor klasy.
RequiresProvidesDirectiveProcessorimplementuje automat stanowy.
Na przykład szablon tekst zawiera trzy wywołania w dyrektywie dla tego samego procesora w dyrektywie, silnik wywołuje następujące metody w kolejności:
StartProcessingRun
Przykłady
Poniższy przykład pokazuje sposób użycia 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 procesorów dyrektywy T4 dotyczącej szablonu tekstowego