Article View: alt.pl.comp.lang.csharp
Article #22000Re: WPF - tworzenie w XAML czy w kodzie, co wygodniejsze?
From: Maciej Pilichowski
Date: Wed, 16 Feb 2011 11:47
Date: Wed, 16 Feb 2011 11:47
96 lines
4671 bytes
4671 bytes
On Wed, 16 Feb 2011 08:33:02 +0100, Łukasz 'Maly' Ostrowski
<maly@USUNnemo.pl> wrote:
>>>public class FileCounter : Dictionary<string, int>
>> To jest obejscie problemu, nie powiem, ze nie dziala, ale obejscie.
>
>To nie jest obejście, to jest rozwiązanie syntetycznego
>problemu jaki sobie postawiłeś.
Alez. To tylko obejscie. Dla prawdziwego typedefa dzialaloby to tez
dla struktur i mialbys wszystkie konstruktory.
Po prostu -- typedef jest zastepnikiem o nowej nazwie, a nie od nowa
widziana klasa.
>>>Może jeszcze makr brakuje?
>> Brakuje.
>
>Wielkie zło języka C,
Nie potrafisz -- nie uzywaj.
>> Eventy -- np. OnPropertyChanged -- za kazdym razem trzeba powielac ten
>> sam kod (wysylanie eventow), bo raz ze odpalanie eventow musi sie
>> odbywac z poziomu klasy-rodzica, to w C# nie ma wielodziedziczenia.
>> Mozna np. obejrzec sobie klasy generowane przez SQLMetala, zeby
>> policzyc ile tam jest realnego kodu, a ile wlasnie powtorek.
>
>He? Co konkretnie trzeba powielić?
if (moje_property!=value)
{
OnPropertyChanged("moje_property");
moje_property = value;
}
I tak raz za razem. Takze OnPropertyChanged trzeba ciagle powielac
(body).
>> Brak foreach (ref ), ktore trzeba rozpisywac albo na wygenerowanie
>> nowej kolekcji albo iterowanie via for -- w C++ dzieki makrom mialem i
>> foreacha i foreacha ref (analogie rzecz jasna).
>
>Bosko. Miałeś makra. To przypomina praktycznie pisanie w Qt,
>makro na makrze, wymagany preprocesor, praktycznie własny
>dialekt, to jest porażka.
Wolisz naprawde pisac
for (int i = 0....
???
>Wcześniej napisałeś "mnóstwo", cztery wyimaginowane
>problemu to już byłoby "cała masa"? ;-).
Po co mam pisac wiecej, skoro sa wyimaginowane, a nawet Twoj typedef
sie kladzie na dzien dobry.
>> public typedef(FileCounter, Dictionary<string,int>)
>
>Konkretnie jaką to ma przewagę nad:
>public class FileCounter : Dictionary<string, int> {}
>? (to jest jakieś 5 znaków różnicy, a tylko zaciemniasz
>orginalną intencję).
Wrecz przeciwnie -- typedef mowi "to jest TYLKO typedef", natomiast
jak piszesz cos "obok", to po 2 latach zaczynasz sie domyslac "hmm,
ale dlaczego nie uzylem typedefa? Czyzby tu bylo jakies drugie dno?".
>Tak jak obok napisał 3P, według Ciebie, najlepiej
>jakbyś zamiast:
Chcesz ze mna dyskutowac, czy ze swoimi imaginacjami?
>> Ale pewnie lepiej jest bez makr, bo ktos jeszcze napisze potegowanie
>> przy pomocy makr i bedzie mial side effects.
>
>Huh? Zawsze jest lepiej bez makr, makra zostały wymyślone
>na potrzeby C. Makra to zło.
Po raz drugi -- nie rozumiesz, nie umiesz -- nie uzywaj.
A generalnie nie chodzi o to, zeby pisac krocej (mniej znakow), ale
zeby wyrazac WPROST sens idei.
Na nieszczescie C# np. Eric Lippert wychodzi z podobnych zalozen co i
Ty. Po co wprowadzac jakis tam feature (nameof np.) jak mozna napisac
cala klase i uzyskac mniej wiecej cos podobnego.
milego dnia, hej
--
Moja wyprzedaz wszystkiego: ksiazki, plyty, filmy.
http://www.garaz.pol.pl/
Technical Details
Message-ID:
<gudnl61k8h5b1k5l3qdn1cojr5uci903na@4ax.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!xlned.com!feeder1.xlned.com!eweka.nl!hq-usenetpeers.eweka.nl!193.201.147.67.MISMATCH!feeder1.cambriumusenet.nl!feed.tweaknews.nl!209.197.12.242.MISMATCH!nx01.iad01.newshosting.com!209.197.12.246.MISMATCH!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<ih6k62$j39$1@inews.gazeta.pl> <dtifj6hm7ehrhqohiof58hs9n6k0hqonpu@4ax.com> <8e1de6bc-b3fa-401e-afe4-5dd874217c4e@v7g2000yqh.googlegroups.com> <204kl6te7qitni1tgegpovdmqs0ore9a2j@4ax.com> <e648ffc1-e203-4770-b1a9-7376e57fc0c7@s11g2000yqh.googlegroups.com> <41nkl658m9qai2p4s0on8h4ekcnhhfi6bm@4ax.com> <1e94u0l78j3eo.1se305ybk2bwm.dlg@40tude.net> <ukoml6ddks7vaon2asc0hn9b9hmf9sk7th@4ax.com> <1gsodsdrig3vx.krczhslmijt7.dlg@40tude.net>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!xlned.com!feeder1.xlned.com!eweka.nl!hq-usenetpeers.eweka.nl!193.201.147.67.MISMATCH!feeder1.cambriumusenet.nl!feed.tweaknews.nl!209.197.12.242.MISMATCH!nx01.iad01.newshosting.com!209.197.12.246.MISMATCH!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail From: Maciej Pilichowski <Pilichowski.MaciejSkasujTo@gmail.com> Newsgroups: alt.pl.comp.lang.csharp Subject: Re: WPF - tworzenie w XAML czy w kodzie, co wygodniejsze? Date: Wed, 16 Feb 2011 12:47:19 +0100 Message-ID: <gudnl61k8h5b1k5l3qdn1cojr5uci903na@4ax.com> References: <ih6k62$j39$1@inews.gazeta.pl> <dtifj6hm7ehrhqohiof58hs9n6k0hqonpu@4ax.com> <8e1de6bc-b3fa-401e-afe4-5dd874217c4e@v7g2000yqh.googlegroups.com> <204kl6te7qitni1tgegpovdmqs0ore9a2j@4ax.com> <e648ffc1-e203-4770-b1a9-7376e57fc0c7@s11g2000yqh.googlegroups.com> <41nkl658m9qai2p4s0on8h4ekcnhhfi6bm@4ax.com> <1e94u0l78j3eo.1se305ybk2bwm.dlg@40tude.net> <ukoml6ddks7vaon2asc0hn9b9hmf9sk7th@4ax.com> <1gsodsdrig3vx.krczhslmijt7.dlg@40tude.net> X-Newsreader: Forte Agent 1.93/32.576 English (American) MIME-Version: 1.0 Lines: 96 Organization: Telekomunikacja Polska NNTP-Posting-Host: 79.187.252.98 X-Trace: 1297856840 unt-rea-a-02.news.neostrada.pl 2505 79.187.252.98:54348 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit