Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A szövegsablon-átalakítási folyamat bemenetként egy szövegsablonfájlt vesz fel, és kimenetként egy szövegfájlt hoz létre. A szövegsablon-átalakítási motor vezérli a folyamatot, és a motor egy szövegsablon átalakítási gazdagéppel és egy vagy több szövegsablon-irányelv-feldolgozóval működik együtt a folyamat befejezéséhez. További információ: A szövegsablon átalakítási folyamata.
Egyéni direktíva-feldolgozó létrehozásához létrehozhat egy osztályt, amely a következőtől öröklődik: vagy DirectiveProcessorRequiresProvidesDirectiveProcessor.
A kettő között az a különbség, hogy DirectiveProcessor megvalósítja a minimális felületet, amely szükséges a paraméterek felhasználótól való lekéréséhez és a sablon kimeneti fájlját létrehozó kód létrehozásához.
RequiresProvidesDirectiveProcessor megvalósítja az igényel/biztosít tervezési mintát.
RequiresProvidesDirectiveProcessor két speciális paramétert kezel, requires és providesa . Az egyéni irányelvfeldolgozók például elfogadhatnak egy fájlnevet a felhasználótól, megnyithatják és elolvashatják a fájlt, majd a fájl szövegét egy elnevezett fileTextváltozóban tárolhatják. Az RequiresProvidesDirectiveProcessor osztály alosztálya a requires paraméter értékeként egy fájlnevet fogadhat a felhasználótól, és a provides paraméter értékeként annak a változónak a nevét, amelyben a szöveget kell tárolni. Ez a processzor megnyitja és felolvassa a fájlt, majd a fájl szövegét a megadott változóban tárolja.
Mielőtt egyéni irányelv-feldolgozót hív meg egy szövegsablonból a Visual Studióban, regisztrálnia kell azt.
A beállításkulcs hozzáadásáról további információt az Egyéni irányelv-feldolgozó üzembe helyezése című témakörben talál.
Egyéni irányelvek
Az egyéni irányelv így néz ki:
<#@ MyDirective Processor="MyDirectiveProcessor" parameter1="value1" ... #>
Egyéni irányelv-feldolgozót akkor használhat, ha külső adatokat vagy erőforrásokat szeretne elérni egy szövegsablonból.
A különböző szövegsablonok megoszthatják azokat a funkciókat, amelyeket egyetlen irányelv-feldolgozó biztosít, így az irányelv-feldolgozók módot biztosítanak a kód újrafelhasználására. A beépített include direktíva hasonló, mivel a kód kifaktorozására és a különböző szövegsablonok közötti megosztására használható. A különbség az, hogy az include irányelv által biztosított funkciók rögzítettek, és nem fogadnak el paramétereket. Ha egy szöveges sablon általános funkcióit szeretné biztosítani, és lehetővé szeretné tenni a sablon számára a paraméterek átadását, létre kell hoznia egy egyéni irányelv-feldolgozót.
Néhány példa az egyéni irányelv-feldolgozókra:
Egy irányelvfeldolgozó, amely adatokat ad vissza egy olyan adatbázisból, amely paraméterekként elfogadja a felhasználónevet és a jelszót.
A fájl nevét paraméterként elfogadó fájl megnyitására és olvasására vonatkozó irányelv-feldolgozó.
Egyéni irányelvfeldolgozó fő részei
Egy irányelvfeldolgozó fejlesztéséhez létre kell hoznia egy osztályt, amely a következőtől öröklődik: vagy DirectiveProcessorRequiresProvidesDirectiveProcessor.
A legfontosabb DirectiveProcessor módszerek, amelyeket végre kell hajtania, a következők.
bool IsDirectiveSupported(string directiveName)- Adjon visszatrue, ha az irányelv feldolgozója képes kezelni a megnevezett irányelvet.void ProcessDirective (string directiveName, IDictionary<string, string> arguments)- A sablonmotor ezt a metódust meghívja a sablonban lévő irányelvek minden előfordulásához. A processzornak mentenie kell az eredményeket.
A ProcessDirective() felé irányuló összes hívás után a templating motor a következő metódusokat fogja meghívni:
string[] GetReferencesForProcessingRun()– Adja vissza a sablonkód által igényelt szerelvények nevét.string[] GetImportsForProcessingRun()– Adja vissza a sablonkódban használható névtereket.string GetClassCodeForProcessingRun()– Adja vissza a sablonkód által használható metódusok, tulajdonságok és egyéb deklarációk kódját. Ennek legegyszerűbb módja egy C# vagy Visual Basic kódot tartalmazó sztring létrehozása. Annak érdekében, hogy az irányelvfeldolgozó bármilyen CLR-nyelvet használó sablonból meghívható legyen, az utasításokat CodeDom-faként hozhatja létre, majd visszaadhatja a fa szerializálásának eredményét a sablon által használt nyelven.További információ : Útmutató: Egyéni irányelvfeldolgozó létrehozása.
Kapcsolódó tartalom
- Egyéni irányelv-feldolgozó üzembe helyezése ismerteti, hogyan regisztrálhat egyéni irányelvfeldolgozót.
- Útmutató: Egyéni irányelv-feldolgozó létrehozása leírja, hogyan hozhat létre egyéni irányelvfeldolgozót, hogyan regisztrálhatja és teszteli az irányelvfeldolgozót, és hogyan formázhatja a kimeneti fájlt HTML-ként.