久々に他言語に手を出しました。id:TakamiChie:20050508 でかいたことですが、素直に自作という形で片づけようと思います。というわけで早速SharpDevelopで開発中。
他の言語なんて久しぶり以前に、C#はあんまり慣れてなかったので結構つまづきはしましたが、結構手軽に様になるものが出来ます。GDI+って結構高度なことが手軽に出来るんですね、文字列に縁取りをつけたり、アンチエイリアスをつけたり…。まあ、わたしがGDIでやってないだけであって、別に難しくはないと思いますが(特に前の方)。
しかし、面倒なのが設定保存系統。今回のソフトでは特に設定保存の必要がなさそうで、専ら作成するべきデータのインポートやエクスポートに用いるのですが、保存したい内容が
- CheckedListBoxの各アイテム
- PropertyGridに表示させているオブジェクト
- その他、文字列データ数件
なので、XmlSerializerなども使えず、面倒なことになりそうです。XmlTextWriterでちくちく手書きなどとなると…。
.NETにはSerializer以外、型問題をすべてクリアにしてくれるようなクラスはないようですし、文字列と各型の変換処理だけでも長くなりそう。欲張らずChie.MemIniFileか何かですませるといいかもしれない。
いやーしかし、DelphiもPerlも、関数の中に関数を込めるのもある意味当たり前だったので、その辺が不便でなりません。関数内でちょっと繰り返したい処理があるとき、C#プログラマのみなさんはどうしてるんでしょう…。