Proprio come si descrive, l'utilizzo più frequente della proprietà Tag
che ho trovato e utilizzo sia in WinForms, sia in WPF e Silverlight è quello di indicare i dati reali a cui si riferisce il controllo. Ciò è particolarmente utile nelle istanze ListViewItem
o nell'interfaccia utente generata automaticamente in cui si desidera utilizzare lo stesso gestore di eventi per più oggetti in cui solo i dati di destinazione sono diversi (ovvero l'azione da eseguire rimane la stessa).
Tuttavia, ho anche utilizzato lo Tag
per archiviare un valore di enumerazione (sebbene sia consigliabile evitare i tipi di valore poiché causerebbe il pugilato quando si assegna il valore alla proprietà Tag
) o una stringa che viene quindi utilizzata per determinare l'azione che deve essere eseguito al posto dei dati su cui eseguirlo, e in un particolare utilizzo, ho memorizzato un delegato in modo da poter generare automaticamente alcuni pulsanti e incorporare i loro gestori nello Tag
(le informazioni del gestore sono state fornite in un dato guidato maniera).
Sono sicuro che ci sono molti altri modi per utilizzare Tag
e molti altri modi per sostituire gli usi di Tag
con qualcosa di più fortemente digitato, ma è così che l'ho usato.
fonte
2009-06-29 14:36:14
Un delegato? Suppongo che dovrebbe avere, ma non mi è mai nemmeno venuto in mente che anche i delegati siano oggetti. –
Uso dei tag ListViewItem adesso: in una gerarchia di cartelle/file, utilizzo il Tag per memorizzare il percorso completo di un file, mentre l'intestazione mostra solo il nome. –