C#

Volete venire a lavorare a Wellington?

Il mio CTO, Andrew Butel, e' coinvolto, oltre che in Calcium, anche in un'altra azienda di Wellington, Xero. Stanno sviluppando un software di accounting, tutto basato su ASP.NET 2.0, Ajax e altre frivolezze grafiche interessanti. Ora stanno cercando sviluppatori C#, anche dall'estero visto che non ce ne sono molti qui in NZ: C# Developers needed in Wellington Oltre che all'indrizzo, mandate il CV anche a me. che lo giro direttamente mettendo una buona parola

Breaking Change nel funzionamento delle Encoding.GetByte in .NET 2.0

Uno dei più grossi problemi che ho incontrato nella conversione dell'applicativo che abbiamo in Calcium dalla versione 1.1 di .NET alla 2.0 è stato con l'invio e ricezione di testo criptato serializzato usando UnicodeEncoding. C'è stato un cambio di funzionamento, o, meglio, un adeguamento alle specifiche Unicode, nella versione 2.0 del framework: ora i metodi GetByte (e GetString di conseguenza) non funzionano se la sequenza di byte non rappresenta un carattere ma è solo una serie di byte "messi in fila a caso". Ho scritto un post più dettagliato a riguardo sul mio blog in inglese: Your encryption algorithm may...

Singleton, ora con snippet VS2005

A metà dello scorso settembre avevo scritto un post su quale fosse il miglior modo per scrivere un Singleton. Oggi, a distanza di quasi un anno, dopo essermi rotto di andare su quella pagina ogni volta che dovevo scrivere una classe Singleton per fare copia e incolla del codice, ho scaricato Snippy, un editor per snippet di VS2005, e ho scritto il mio primo snippet. Lo potete scaricare dal sito GotCodeSnippets.NET, un repository di snippet per VS2005. Questo il link per scaricare il mio singleton snippet. PS: E' scritto in C#

Sviluppo di Robot con tool Microsoft

Sono sempre stato affascinato alla robotica e dallo sviluppo di prodotti che combinassero una parte HW e una SW, ma, a parte qualcosa al Politecnico durante l'università, non ho mai fatto nulla di similare. Ora vedo che Microsoft ha rilasciato (questo l'annuncio ufficiale) un prodotto che si chiama Microsoft Robotic Studio: un tool per permettere lo sviluppo di applicazione "robotiche" o anche applicazioni che fanno uso, pur non essendo "robotiche", di operazioni parallele poco accoppiate (non riesco a tradurre meglio di così "loosely-coupled" ). Su Channel9 c'è un video di quasi un'ora con un'intervista e alcune demo fatte dai membri del "Robotic Team" di...

Vuoi cambiare encoding per un WebService? Non si può

Probabilmente non vi è mai capito di doverlo fare, ma se volete cambiare l'encoding del risultato di un webservice, quello che si trova nella dichiarazione dell'XML, da UTF-8 a qualcos'altro... non lo potete fare: sembra che si quella stringa sia "hardcoded" nel generatore di webservice. Questo post, "Encoding limitations in ASMX", riporta un commento di uno sviluppatore del team MS che ha lavorato a questo: We decided not to do this feature for 3 reasons: 1. UTF-8 can represent all Unicode characters 2. The Xml spec requires that all Xml processors understand UTF-8 3. We were short for time and there were...

Condividere codice tra Win e Mobile

Avete sviluppato una libreria di business logic, e la volete utilizzare sia in un applicativo desktop che in un applicativo mobile: come fare? E' un problema che prima o poi dovremo affrontare tutti, e penso sia una delle domande maggiormente post sui forum del CompactFramework: gironzolando sui vari blog di sviluppatori mobile e sui forum dedicati si trovano due diversi approcci: condividere il binario condividere il sorgente Il primo caso presuppone che si sia sviluppata una device class library senza funzionalità specifiche per mobile (no accesso a Irda, SMS, camera, SQL Mobile, ecc...): in questo caso è possibile aggiungere...

Snippet per dichiarare un evento

Amo sempre di più i code snippets all'interno di VS2005... Dopo essermi stufato di fare cut'n'paste tra le varie classi mi sono deciso a cercare sulla rete se qualcuno aveva già scritto un snippet per automatizzare questa noiosa e ripetitiva digitazione. E l'ho trovato su GotCodeSnippets.NET, un repository di code snippets. Questo è il codice che genera, semplicemente inserendo il nome dell'evento che vogliamo creare (nel mio caso PasswordChanged: public class PasswordChangedEventArgs : EventArgs{    public static readonly new PasswordChangedEventArgs Empty = new PasswordChangedEventArgs();}public event EventHandler<PasswordChangedEventArgs> PasswordChanged;protected virtual void OnPasswordChanged(PasswordChangedEventArgs e){    EventHandler<PasswordChangedEventArgs> handler = PasswordChanged;    if (handler != null)    {        handler(this, e);    }} Usa la nuova design guideline di usare EventHandler<T> invece che ridefinire tutte le volte il delegate che gestisce l'evento. Ecco le pagina dove è possibile scaricare lo snippet. powered by IMHO 1.3

Come limitare un designer troppo invadente? Usando l'attributo DesignerSerializationVisibility

Quando si inserisce un controllo custom in un form, il designer di visual studio cerca di inizializzare tutte le sue proprietà.
Ma non è detto che tutte le proprietà debbano essere impostate in design time, ad esempio oggetti di domain model che vengono gestiti solo a run-time.
Come si può fare per evitare che VS inizializzi anche quelli? Decorando la proprietà con l'attributo DesignerSerializationVisibility.
Per maggiori dettagli leggete il seguito del post.

DataFormatString non viene applicato ai BoundField

<asp:BoundField DataField="data"      HeaderText="Data" SortExpression="data"     DataFormatString="{0:d}" /> Perchè questa riga di codice (ehm... markup) genera sempre la scritta "29/05/2005 0.00.00" come se facessa una banale ToString(), invece che "29/05/2005", cioè il risultato di una String.Format con la stringa di formato {0:d} (cioè in formato Short Date)? All'inizio pensavo ad un errore nella stringa di formato, ma consultando quella che è la mia bibbia delle stringhe di formato in C# mi sono convinto che l'errore non era mio: dopo qualche ricerca su Google ho trovato questo interessante post su...

WebEncoder: problematiche affrontate

Nelle scorse settimane ho lavorato alacremente per portare a compimento il mio primo programma winform based serio, basato sul Framework.NET versione 2.0. Giusto per far capire di cosa si tratta: WebEncoder permette di encodare in formato WMV file video, caricare dei metadati, e uploadare il tutto su di un server web all'interno del nostro (di Esperia) CMS specialistico per la gestione di Web-TV. Il tutto rendendo trasparente all'utente l'esistenza delle impostazioni di encoding, l'esistenza di più formati per lo stesso contenuto, la creazione della thumbnail. Quali sono state le problematiche incontrate nello sviluppo di questo applicativo? ...

Full C# Archive

«aprile»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011