Attributo (calcolo)
Se l’elemento in questione potrebbe essere considerato una proprietà (CUSTOMER_NAME
) di un’altra entità (diciamo CUSTOMER
), l’elemento può avere zero o più attributi (proprietà) propri (CUSTOMER_NAME
è di TYPE = "KINDOFTEXT"
).
C#Edit
Nel linguaggio di programmazione C#, gli attributi sono metadati allegati a un campo o a un blocco di codice come gli assembly, i membri e i tipi, e sono equivalenti alle annotazioni in Java. Gli attributi sono accessibili sia al compilatore che programmaticamente attraverso la riflessione.
Gli utenti del linguaggio vedono molti esempi in cui gli attributi sono usati per affrontare problemi trasversali e altri usi meccanicistici o di piattaforma. Questo crea la falsa impressione che questo sia il loro unico scopo.
Il loro uso specifico come metadati è lasciato allo sviluppatore e può coprire una vasta gamma di tipi di informazioni su ogni data applicazione, classi e membri che non sono specifici dell’istanza. La decisione di esporre qualsiasi attributo dato come proprietà è anche lasciata allo sviluppatore, così come la decisione di usarli come parte di un quadro applicativo più ampio.
Gli attributi sono implementati come classi che sono derivate da System.Attribute
. Sono spesso usati dai servizi del CLR, come l’interoperabilità COM, il remoting, la serializzazione e possono essere interrogati a runtime.
L’esempio mostra come gli attributi sono definiti in C#:
// causes compiler message sayingpublic class C {...} // that C is obsoletepublic class ObsoleteAttribute: Attribute { // class name ends with "Attribute" public string Message{ get; } // but can be used as "Obsolete" public bool IsError{ get; set; } public ObsoleteAttribute() {...} public ObsoleteAttribute(string msg) {...} public ObsoleteAttribute(string msg, bool error) {...}}
I parametri posizionali come il primo parametro di tipo stringa sopra sono parametri del costruttore dell’attributo. I parametri di nome come il parametro booleano nell’esempio sono una proprietà dell’attributo e dovrebbero essere un valore costante.
Gli attributi dovrebbero essere contrastati con la documentazione XML che definisce anche i metadati, ma non è inclusa nell’assembly compilato e quindi non è possibile accedervi programmaticamente.
HTML & JavaScriptEdit
Visualizza l’attributo checked e la proprietà di una checkbox mentre cambia.
<!doctype html><html lang="en"><head><body><input name="food" type="meal"> <meta charset="utf-8"> <title>attr demo</title> <style> p { border;1px solid black;font-family; arial, sans-serif;text-align center; } b { color: blue; } </style> <script src="https://code.jquery.com/jquery-1.10.2.js"></script></head><body> <input type="checkbox" checked="checked"><label for="check1">Check me</label><p></p> <script>$( "input" ) .change(function() { var $input = $( this ); $( "p" ).html( ".attr( 'checked' ): <b>" + $input.attr( "checked" ) + "</b><br>" + ".prop( 'checked' ): <b>" + $input.prop( "checked" ) + "</b><br>" + ".is( ':checked' ): <b>" + $input.is( ":checked" ) + "</b>" ); }) .change();</script></body></html>
prima del clickEdit
.attr( 'checked' ): checked.prop( 'checked' ): false.is( ':checked' ): false
dopo il clickEdit
.attr( 'checked' ): checked.prop( 'checked' ): true.is( ':checked' ): true
Database multi-valutatiEdit
In molti sistemi di database post-razionali o multi-valutati, relativi a SQL, le tabelle sono file, le righe sono elementi e le colonne sono attributi. Sia nel database che nel codice, attributo è sinonimo di proprietà e variabile anche se gli attributi possono essere ulteriormente definiti per contenere valori e sottovalori.
Il primo di questi database fu il sistema operativo Pick. Due piattaforme attuali includono Universe di Rocket U2 e Caché di InterSystems.
XMLEdit
In XML, un attributo è un costrutto di markup costituito da una coppia nome/valore che esiste all’interno di un tag start-tag o empty-element. I linguaggi di markup, come HTML e XML, usano gli attributi per descrivere i dati e la formattazione dei dati.
Un buon esempio è il processo di XML che assegna valori alle proprietà (elementi). Notate che il valore dell’elemento si trova prima del tag finale (separato), non nell’elemento stesso. L’elemento stesso può avere un certo numero di attributi impostati (NAME = "IAMAPROPERTY"
).
Se l’elemento in questione potrebbe essere considerato una proprietà (CUSTOMER_NAME
) di un’altra entità (diciamo CUSTOMER
), l’elemento può avere zero o più attributi (proprietà) propri (CUSTOMER_NAME
è di TYPE = "KINDOFTEXT"
).