属性 (コンピューティング)
脱リレーショナルまたはマルチバリューのデータベースシステムの多くは、SQLと比べると、テーブルはファイル、行はアイテム、列は属性となっている。データベースとコードの両方において、属性はバリューとサブバリューをさらに含めるよう定義できるものの、プロパティおよび変数と同意である。
こうしたデータベースの元祖はPickオペレーティングシステムであった。現在のプラットフォームには、たとえばRocket U2のUniverseとInterSystemsのCachéの2つがある。
任意の属性をプロパティとして公開するかどうかは、属性をより大きなアプリケーションフレームワークの一部として使うかどうかという決定と同様、開発者に委ねられている。
属性はSystem.Attributeから派生したクラスとして実装される。COMとの相互運用、遠隔手続き呼出し (RPC)、シリアル化といったCLRサービスによって使用されることが多く、また、実行時に問い合わせることができる。
この例はC#での属性定義のやり方を示すものである。
上記の最初の文字列型のパラメーターのような位置指定パラメーターは、属性のコンストラクターのパラメーターである。この例のブール値のパラメーターのような名前付きパラメーターは属性のプロパティであり、定数値でなければならない。
属性はXML文書と比較対照したい。XML文書においては、メタデータは定義されるがコンパイル済みアセンブリには含まれないためにプログラム的にアクセスすることができない。