たきるブログ

C#やOracleなどの情報を書いています。

【C#】クラスをList化した状態で操作するには

大したことではないんだけど、ちょっとしたとこでなんだかんだでやりたくなる実装方法。

今回は、.NET Framework 2.0という古いバージョンでCSVを出力せねばならない。
CsvHelperが使えないので、自前で実装する必要があるんだけど、ごりごり書いてほしくない。(俺以外が開発することになった時に)

てことで、CSVの列項目インターフェースをちゃんと持って、それをCSV出力をしろよ、という感じの実装。

インターフェースや抽象クラスやらを使って必要な基本実装を作りこんでおけば、後は列項目インターフェースのクラスを用意して好きにしてくれって感じ。

まぁ、列順どうするんだって話もあるから、ちょろっと何とかすればいいだろ。
ColumnOrderAttributeクラスを用意した実装にするとか、CsvHelperのように順序とプロパティをマッピングさせるとか、やりようはあるだろうね。
今のとこ、出力さえできればいいからというのもあるかもしれないけど。

List Class Sample