• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    VIRTUALVOID: to musi bejt bezva porad poslouchat "build, build, build ... undo, undo ... rename" :D
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    TENCOKACISTROMY: Pak myslim ta nejvyssi edice VS ma neco co se UML dost blizi. Ale MS nejvetsi pokus, sblizit se s "opravdovym" UML, byl/je Visio. Dle myho nazoru ale Visio nesaha Enterprise Architektu ani po kotniky. Navic EA ma aspon citelnej format souboru (stara Access databaze) narozdil od Visia, ktery ma i to aplikacni COM+ rozhrani takovy divny.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    CERMINEK: Enterprise Architect umi nacist zdrojaky C#/VB.NET/atd... a udelat ti z toho class diagramy.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: A to dela co? Budto nic a nebo to vraci false.
    NECROMAN
    NECROMAN --- ---
    TENCOKACISTROMY: cekal bych neco jako kdyz z listu odebiras polozku, ktera tam neni O.o
    CERMINEK
    CERMINEK --- ---
    Ahoj, mám dotaz. Mohu nějakým způsobem z Visual Studia (v. 2010 Professional) vytáhnout strukturu programu? Podařilo se mi najít akorát diagram tříd, ten je OK, ale co nějaké "UML" či tak něco? Přiznávám, že ani nevím pod jakými hesly přesně hledat a zatím jsem nic extra nenašel a nechce se mi to kreslit ručně.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: Proc bys proboha v takovym pripade hazel vyjimku?
    NECROMAN
    NECROMAN --- ---
    Prave jsem asi objevil ameriku zjistenim, ze vicenasobne odebrani event handleru by defaultne nehaze vyjimku, jak jsem si myslel :)

    border.ManipulationDelta += BorderManipulationDelta;
    border.ManipulationDelta -= BorderManipulationDelta;
    border.ManipulationDelta -= BorderManipulationDelta; // nic se tu nestane

    Teda vyjimku to hazet muze v zavislosti na implementaci toho eventu:

    public event EventHandler MyEvent;
    {
    add { _delegate += value; }
    remove { _delegate -= value; } // tady muze byt test a hazeni vyjimky
    }
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    Mam ve WPF ListView, ktery je nabindovany na IBindingList a chci tam pres drag & drop presouvat polozky (je to playlist). Bohuzel cilem je aby to bylo spis drag & move, nez drag & drop. Je nejakej pripravenej zpusob, jak to udelat, a kterej vypada pekne a je spolehlivej? Ted mi to funguje, ale to preskakovani polozek vypada divne. Uplne nejlepsi by bylo, kdyz by se ty vymeneny polozky animovali jak se prohazujou.
    SLUPKA
    SLUPKA --- ---
    NECROMAN: To jsi schopen. A jsi schopen krokovat i do toho aspektu.

    Jen jsem říkal, že nevím, jak by se debugger choval, kdyby se ten get či set prostě nezavolal. Kdyby sis v aspektu třeba napsal, že za takové a takové podmínky nevracej hodnotu, ale třeba default. Pak nevím, jestli by ti to zastavilo nebo ne.
    NECROMAN
    NECROMAN --- ---
    SLUPKA: jde mi o to, ze obcas potrebuji debugovat kolikrat se treba vola getter nejake property a zda uz je ta properta v dany okamzik spravne nasatvena nebo ne...
    SLUPKA
    SLUPKA --- ---
    NECROMAN: ten jejich atribut je jejich použití aspektů - nejsem si jist, jestli to platí pokaždé (jde napsat aspekt, který způsobí, že se vůbec volat get či set nebude a pak nevím, jestli to ten breakpoint hitne). Ale tady ten get, set nijak upravený není, krom toho, že po tom setu se notifikují změny.
    NECROMAN
    NECROMAN --- ---
    SLUPKA: takze kdyz pouziji ten atribut [NotifyPropertyChanged] na tridu, kde mam treba
    public string Title { get; set; }
    tak je mozne dat breakpoint na getter a setter te property po tom, co mi to PostSharp upravi?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    SLUPKA: MS to nekoupi, protoze dela Roslyn, kterej je mnohem vic powerfull. Skoda ze to MS nekoupil v dobe, kdy PostSharp vydali. To jeste o zadnym Roslynu nebyla ani rec.

    btw. na poslednim msfestu rozdavali PostSharp na pozadani. Ja tak ziskal dve licence *jupiii*.
    SLUPKA
    SLUPKA --- ---
    NECROMAN: Zrovna postsharp debugovat jde. a to dokonce můžeš debugovat kompilaci (compile time inicializaci aspektů) a můžeš debugovat i kód injectovaný normálně za běhu.

    Ten kód je podstatně čistší, přehlednější a nemusíš se zabývat všude kravinama (notifikace, logování apod.). Kdyby nebyl PostSharp tak drahý, tak ho používám na většinu projektů, takhle ho používám jen na školní věci, mám akademickou licenci. Škoda, že to MS nekoupí a neudělá z toho část .NETu, aspekty mi přijdou dost nepokryté (v Javě třeba jsou).
    P19
    P19 --- ---
    Nemate predstavu, jak by se dalo v extensio metode u mvc automaticky nareferencovat javascript knihovna do hlavicky? Nebo nejak pristoupit do section?
    Dik
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    NECROMAN: INotifyPropertyChanged obchazime pres CallerMemberNameAttribute. Ale jinak to pouzivame pro lazyloading a lazysaving objektu do objektovy databaze. Zrovna PostSharp je dobrej v tom, ze upravi i *.pdb soubory, takze neni problem s debugovanim.
    NECROMAN
    NECROMAN --- ---
    BUTHRAKAUR: pouzivam MVVM Light s upravenymy zdrojaky, no nevadi...

    Jinak jaky mate nazor na frameworky, ktere pri kompilaci injectuji skript do vaseho kodu, typicky PostSharp pro zjednoduseni implementace INOtifyPropertyChanged a podobne? Sice to na obrazcich vypada hezky, ale ke mne do aplikace to nesmi, jakmile chce clovek debugovat kod, ktery je vygenerovany behem compile time, tak ma smulu.
    Design Pattern Automation – PostSharp
    http://www.postsharp.net/
    Kliknutím sem můžete změnit nastavení reklam