gennaio 2006 Blog Posts
Sebbene il sito gotdotnet sia un pozzo di s. patrizio, pieno di roba interessante, stamattina naviga qua che naviga la, trovo questo tool che nonostante beta (almeno per la versione 2.0 del framework) ritengo comunque utile per essere certi di aver scritto codice secondo il Microsoft's style.
http://www.gotdotnet.com/team/fxcop/
Mi sento in
vena dattilografica ... ed ecco qua il mio nuovo articolo (che sia il caso di cambiare lavoro??).
Direte che ho fatto una scoperta idiota. In realtà no.
Proprio perchè il mio blog lo intendo come un diario dove appuntare tutte le
pifferate che combino, ritengo opportuno scriverci pure questo.
In realtà sapevo che i membri statici erano condivisi, ma il problema vero è
che avevo scritto un pezzo di codice - errato - dove riuscivo ad avere un valore
per il membro statico diverso per ogni istanza di una classe che avevo
dichiarato. Come ci sono riuscito non lo sò nemmeno io, però più guardavo
esterefatto il risultato che ottenevo e più leggevo nell'MSDN questo paragrafo:
"Static class...
Non ci credo nemmeno io, però nonostante tutto, il sapere (grande matusa che parla) acquisito
(speriamo che me lo ricorderò quando ne avrò di nuovo bisogno) per capire
come potessi implementare un custom validator in un file di configurazione, può
essere oggetto di un primo articolo. Ed è questo quello a cui non credo, il
fatto che dopo manco due mesi di studio, già possa azzardarmi a
farlo.
Speriamo bene.
Cosa fare se si ha bisogno di avere uno schema certo che
il nostro file di configurazione deve seguire? Che magari ci aiuti con il
supporto dell'intellisense (gran bella invenzione davvero!) per mostrarci anche
una lista di enumerati?
Semplice, associato al custom element della nostra custom section il
parametro xmlns, passandogli un URI contenente lo schema XSD che vogliamo sia
interpretato e utilizzato come linea guida. Così:
<UserSection xmlns="http://tempuri.org/PersoneSchema.xsd">
Generare uno schema XSD è semplice con il tool visuale messo a disposizione
nell'IDE, basta solo sapere cosa scriverci dentro.
Il nostro pattern deve essere una cosa di questo tipo:
NomeSezione -> NomeElemento -> Attributi [-> Eventuali...
In questo caso mi sono ritrovato a cercare di capire cosa
potessero essere i named parameters, o meglio quello lo avevo capito, ma come,
invece, li potevo creare.
Sulle prime pensavo che la descrizione che compariva al di sotto del tooltip
box fosse una questione di tag per la commentazione del codice (Recommended Tags for Documentation Comments), però i conti non mi
tornavano.
Gira che ti rigira, dopo un pò di analisi di alcune classi che esponevano
questi named parameters, finalmente comprendo che altro non sono che delle
banali proprietà (get, set), ma applicate a classi che ereditano da Attribute.
Quindi per intenderci...
Ok, completo la premessa del mio primo post: non sono un genio e ho ancora
molto da imparare. Ci aggiungo poi che ho solo recentemente iniziato a studiare
c# (sul finire del 2005 su di un letto d'ospedale, e non che gli altri .net
languages li abbia usati più di tanto prima di allora. Si diversi progetti, ma
per lo più banali), quindi quello che scrivo può essere ovvio per molti, ma per
me se reputo di scriverlo è perchè non lo era (sarà) di
sicuro.
Mi scuso quindi con i veterani se farò uso di termini impropri. Anche qua se...
Ok, forse il titolo è leggermente esagerato.
Da premettere che lavoro con i pc da quando avevo 8 anni. Nel corso degli anni ho avuto modo di conoscere, per lo più virtualmente, molte persone che come me, appassionate, oggi fanno il mio stesso lavoro e spesso sono addentro al settore informatico molto più di me (vuoi per conoscenza, per tempo, ma non lo nego anche per una maggiore abilità) e che hanno collezionato successi sicuramente maggiori rispetto ai miei: ma per carità ognuno ha i suoi limiti. Forse il mio è quello di lavorare con i computer, ma saper fare...