Qualcosa su di me

Mi chiamo Andrea Moro, sono un appassionato di informatica da quando avevo 8 anni e da quando mio padre mi regalò il C64.

Qualche anno più tardi, il mio primo pc e nel 1994 la prima esperienza con Internet, di cui mi sono subito innamorato e con cui oggi mando avanti la mia attività di Web Designing e posizionamento nei motori di ricerca.

View Andrea Moro's profile on LinkedIn

Calendar

<<  novembre 2008  >>
lumamegivesado
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

View posts in large calendar


RSS

Una cosa che può trarre in inganno quando si creano controlli personalizzati, siano essi di tipo Web o di tipo Form (passatemi la definizione), è l'attributo DefaultValue.

Ci si potrebbe aspettare che quell'attributo imposti il valore di Default. Non è così. Spetta sempre al programmatore impostare il valore del controllo sia in fase di inizializzazione che in fase di rendering / esecuzione.

La domanda allora sorge spontanea: a cosa serve l'attributo se non viene utilizzato?

In realtà l'attributo viene utilizzato, ma solo nell'IDE, nella modalità Design. Cambiando un valore di una proprietà all'interno dell'IDE si potrà infatti notare che la proprietà diventa grassetto quando assume un valore diverso dall'attributo DefaultValue.

Fantastico, ma se io volessi usare quel valore, e ad esempio evitare di doverlo confrontare con quello di una variabile o di una costante privata (magari dal medesimo valore) usata per la sola inizializzazione?

Nulla di più semplice se si utilizza del codice come quello qui sotto riportato:

private T GetDefaultValue(string PropertyName)
{
  // Gets the attributes for the property.
 
System.ComponentModel.AttributeCollection attributes = TypeDescriptor.GetProperties(this)[PropertyName].Attributes;
 
return (T)((DefaultValueAttribute)attributes[typeof(DefaultValueAttribute)]).Value;
}

 


Vota questo post per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Aggiungi commento


(Visualizza la tua icona Gravatar)  

  Country flag


  • Commento
  • Anteprima
Loading



Advanced Technology

Abruzzo SEO specialist, .Net programming and computer stuff