直近でC#でCSV書き込み処理が必要だったので、一番有名どころと思われる CsvHelper を使ってみました。
その中でも、ちょっとニッチな内容ですが、書き込み対象となるクラスのプロパティに属性(Attribute)について調べたので備忘録で残しておきます。
なお、Attribute に関しては、日本語記事がなかなか見つからないです・・・。結構ドキュメント少な目かもしれませんね。
そもそも Attribute 付けるとどうなるの?
書き込み対象となるクラスのプロパティに Attribute を付加することで、書き込み方を工夫することができます。
公式のサンプルに代表的なサンプルが掲載されていますので、そちらを見たほうがイメージがつかめると思います。
Attribute まとめ(公式サンプルで未掲載の Attribute 含む)
Atrtribute 関連のソースコードを読んでみると、掲載されているサンプル以外にもいくつかあります。
しかも、結構便利そうなのがあります。
以下、まとめてみました。
Format
文字列の書式を設定できます。0詰めとか右寄せとか設定できるやつです。
例:
class Hoge
{
[Format("#,0")]
public decimal Price {get; set;} = 1000000000;
}
とすると、 100,000,000
というように出力されます。
すみません、時間の都合上残りは後日追記します。
コメント