Diskuze: Provolání šablony (Text templates)

C# .NET .NET (C# a Visual Basic) Provolání šablony (Text templates) American English version English version

Aktivity (3)
Avatar
Luboš Hnědý:15. května 21:01

Zdrávím vytvořil jsem si základní šablonu a potřeboval bych jí "provolat" tím myslím, že bych chtěl někde ve svém programu nastavit jméno třeba třídy a potom podle toho vygenerovat tu třídu s tím daným jménem. Zkoušel jsem googlit, ale asi jsem hledat špatně... Budu rád za každou radu či odkaz. Díky :)

 
Odpovědět 15. května 21:01
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na Luboš Hnědý
Petr Čech:15. května 23:10

Buď vůbec netušíš, co děláš a chceš udělat novou instanci:

class A{}

...
A aInstance = new A();

A nebo jsi pokročilý a chceš "vyšší dívčí", které se jmenuje reflexe - z typu lze vytvořit instanci za běhu:
https://msdn.microsoft.com/…vs.110).aspx

A nebo chceš udělat něco úplně jiného... ale potom to asi budeš potřebovat nějak lépe popsat, třeba dát ukázku a co chceš, aby se stalo.

Nahoru Odpovědět 15. května 23:10
the cake is a lie
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Petr Čech
Jan Vargovský:16. května 10:12

nemyslí jen code snipetty jako "class", "ctor", "prop", "propfull" atd.?

 
Nahoru Odpovědět 16. května 10:12
Avatar
Odpovídá na Petr Čech
Luboš Hnědý:17. května 7:52

Moc vám obou děkuji za odpověď. Možná de o to co psal Jan Vargovský. Zkrátka mám takovýhle kód:

namespace <#= this.namespace #>
{
    public class <#= classname #>
    {
    }
}

A teď zkrátka bych chtěl nějak "provolat" tu šablonu a doplnit za to jméno třídy a namespace a já zkárkta nevím jak na to. Předem díky za info

 
Nahoru Odpovědět 17. května 7:52
Avatar
Luboš Hnědý:17. května 7:53

V nějakým programu si například napíšu jméno třídy bude: Test a namespace bude blabla.blal zmáčknu na vygenerovat ono to vezme tudle šablonu a podle ní i to vygeneruje. Snad jsem to vysvětlil alespoň trchu srozumitelně

 
Nahoru Odpovědět 17. května 7:53
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Luboš Hnědý
vajkuba1234:17. května 12:35

Nemyslis nahodou T4 templates?

Nahoru Odpovědět  +1 17. května 12:35
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Avatar
Odpovídá na vajkuba1234
Luboš Hnědý:17. května 17:44

Ano myslím v tom to dělám, ale já teď prostě nevím jak to "provolat"

 
Nahoru Odpovědět 17. května 17:44
Avatar
Odpovídá na vajkuba1234
Luboš Hnědý:17. května 19:22

Už vím používal jsem totiž šptanou šablonu.... Dělal jsem to podle tohodle vide: https://www.youtube.com/watch?… a to je asi jenom k navrhnutí toho souboru, aby člověk viděl co z toho vyleze ? Jen se domnívám. Poté musí použít Runtime Template

 
Nahoru Odpovědět 17. května 19:22
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Luboš Hnědý
vajkuba1234:17. května 21:47

Proc tady nedas presne zadani toho co potrebujes a jaky ma byt vystup?

Nahoru Odpovědět 17. května 21:47
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Avatar
Odpovídá na vajkuba1234
Luboš Hnědý:18. května 23:23

Já nemám žadný zadání. Chci si to sám zkusit a naučit se to. Takže prostě začínám. Chci abych měl šablonu která mi vytvoří třeba něco takového:

public class Jmeno {
}

a to je všechno a chtěl jsem aby to Jmeno bylo něco ze vstupu mího programu takže tam zadam prostě jméno třídy a ono mi to ten soubor vytvoří s tou danou třídou. Toho jsem už i dosáhnul jenom přžesně nevím jaký je rozdíl mezi šablonou Simple T4 Template a Runtime Text Template domnívám se, že ta Simple T4 Template je prostě že si to navrhnu a hned vydím co z toho leze a pak si to překopíruju do tý runtime a ta už mi to vygeneruje a to i vím jak.

 
Nahoru Odpovědět 18. května 23:23
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Luboš Hnědý
vajkuba1234:19. května 13:42

To je blbost. A ano, takhle T4 funguje.

Nahoru Odpovědět 19. května 13:42
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.