宣言型とか XML とかだらだらと

ふと、XmlSerializer で XML の読み書きするのって宣言型プログラミングだよね、とか書いてみたりして。XmlElement 属性を使って、XML 要素名を .NET のクラス名にマッピングしたりだとか、そういうあたりが。属性は .NET 登場時から宣言型プログラミングって触れこみだから、まあ当然というかそのままなんだけど。XmlReader やらなにやらと比べてとても楽ですね。もちろんその分できないことは多いです。public フィールドかプロパティじゃないとダメって制限がなければなぁ…。

XAML みたいに XML 要素でも XML 属性でもそんなの関係ねぇってのを実現する XmlElementOrAttribute みたいな属性(ややこしいけど XML の属性じゃなくて .NET の属性)がないかなと探してみたけど、なさげですね。XmlAnyAttributeAttribute とか使えば作れそうだけど、XElement を調べるほうが先かな。

そういえば、VS2008 についてくる sgen.exe も、/t で一つの型しか指定できませんでした(参考: id:siokoshou:20071104)。む、英語版から日本語版 Express に入れ替えたら SDK が違うフォルダに再インストールされてる…。そこに入れないで欲しかったorz

XML をそのまま書ける機能はどうして VB に入って C# に入らなかったんだろう。ガラじゃないってのはちょっと思うけど、それを言ったらクエリ式も従来の C# と全然毛色が違うし。まあ XML love じゃないんでどっちでもいいんだけど(^^;