- - PR -
カスタム属性の利用用途
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-05-27 20:43
最近、カスタム属性とReflectionという物を勉強して、ListViewコントロールにクラスのプロパティを表示するためのカスタム属性(ColumnHeaderAttribute)を作成しました。作成したカスタム属性はListViewコントロールの列ヘッダーコントロール(ColumnHeader)の作成に関する情報(列名、列幅、水平方向の配置方法、列の型など)を定義するために作りました。具体的には以下のようにしてクラスのプロパティに属性を指定しています。
[ColumnHeaderAttribute("ファイル名",250,HorizontalAlignment.Left)] public string FileName { get{return fileName;} } [ColumnHeaderAttribute("ファイルサイズ",40,HorizontalAlignment.Right)] public int Size { get{return size;} } はじめてカスタム属性やReflectionを使ってすごい便利だな〜と思い、 他にもどんどん利用していきたいなと思っています。 そこでお聞きしたいんですが、皆さんはどのような用途にカスタム属性やReflectionを利用していますか? | ||||
|
投稿日時: 2004-05-28 09:21
クラスのメンバを確認したり修正したりするには、PropertyGridが便利ですよ。
(ツールボックスで「アイテムの追加と削除」が必要です。) 私は、カスタム属性でXlsSerializerというのを作りました。 Excelまたは、CSVファイルの指定箇所から任意のクラスの配列を作成できます。 (XmlSerializerみたいなもの) 使い方例
他には、こんなものとか。(バグが放置してあります) http://plaza.harmonix.ne.jp/~fakira/turedure/cprog_03.htm#030610 |
1