Black friday Black friday
Aprílový black friday tě nenechá v klidu! Až 80 % prémiového obsahu zdarma. Více informací
Pouze tento týden slevy až 80 % na programování v Javě
Avatar
Luboš Hnědý:15.5.2018 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.5.2018 21:01
Avatar
Petr Čech
Redaktor
Avatar
Odpovídá na Luboš Hnědý
Petr Čech:15.5.2018 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.5.2018 23:10
the cake is a lie
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Petr Čech
Jan Vargovský:16.5.2018 10:12

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

 
Nahoru Odpovědět 16.5.2018 10:12
Avatar
Odpovídá na Petr Čech
Luboš Hnědý:17.5.2018 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.5.2018 7:52
Avatar
Luboš Hnědý:17.5.2018 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.5.2018 7:53
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Luboš Hnědý
vajkuba1234:17.5.2018 12:35

Nemyslis nahodou T4 templates?

Nahoru Odpovědět  +1 17.5.2018 12:35
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Avatar
Odpovídá na vajkuba1234
Luboš Hnědý:17.5.2018 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.5.2018 17:44
Avatar
Odpovídá na vajkuba1234
Luboš Hnědý:17.5.2018 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.5.2018 19:22
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Luboš Hnědý
vajkuba1234:17.5.2018 21:47

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

Nahoru Odpovědět 17.5.2018 21:47
No hope, no future, JUST WAR! For world peace Israel must be DESTROYED!
Avatar
Odpovídá na vajkuba1234
Luboš Hnědý:18.5.2018 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.5.2018 23:23
Avatar
vajkuba1234
Člen
Avatar
Odpovídá na Luboš Hnědý
vajkuba1234:19.5.2018 13:42

To je blbost. A ano, takhle T4 funguje.

Nahoru Odpovědět 19.5.2018 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.