marzo 2006 Blog Posts
Ai prossimi Community days parlero' di ClickOnce e di come questa tecnologia renda il deploy/patching di un applicazione meno “doloroso” del solito.Le classi in System.Deployment permettono il controllo di ogni dettaglio relativo all'aggiornamento quando le modalita' predefinite non siano sufficienti, tra queste trovo molto interessante la possibilita' di scaricare le assemblies “On demand” in modo da rendere il download piu' leggero e modulare.Purtroppo ho notato alcune limitazioni quando l'applicazione distribuita con ClickOnce non e' fully trusted in quanto in questo caso Application.StartupPath anziche' ritornare la directory dove ClickOnce ha installato l'applicazione ritorna il path del processo che ospita le applicazioni partially trusted ovvero AppLaunch.exe.Ne ho discusso...
Oggi, cercando di capire perchè un operazione banale come il binding di una proprietà non funzionava, mi sono accorto di un dettaglio non proprio marginale: Il motore di Binding funziona solo se le proprietà sono publiche indipendentemente dal contesto di visibilità delle stesse.Prendete questa classe: public class Person { private string mName; public Person (){this.Name = "Test";}
public string Name { get { return mName; } internal set { mName = value; } } }
Mettete in binding la proprietà Name verso una TextBox usando:textBox1.DataBindings.Add("Text", new Person(), "Name");e noterete che la proprietà non viene mai valorizzata quando il contenuto della textbox cambia, questo perchè il motore di binding internamente si appoggia...
Bill McCarty in questo blog descrive una tecnica che grazie alla modalita' di gestione degli eventi in VB permette la creazione di eventi “Intra-Class” utili quando si ha a che fare con classi parziali e, pur mantenendo la separazione tra codice generato e codice “manuale”, si vuole iniettare codice nella parte generata.