Visual Basic 9.0 って、どんなんかーなぁー♪ その3。- Anonymous Types -
そろそろ梅雨明けのようですが、今回は Deep XML Support です。梅雨明けはまったく関係ないですね。
XML に対するサポートが強化されているらしいです。まずは'さわり'から。こんな感じ↓
Option Strict On
Option Infer On
Public Class Program
Public Shared Sub Main()
Dim torikobito As XElement = _
<WankumaMember>
<ID>76</ID>
<Name>とりこびと</Name>
</WankumaMember>
Console.WriteLine(torikobito)
End Sub
End Class
へ~、こんなんなるんですね~♪・・・って、
・・・XML がコード上に?
もうね、なんのこっちゃですよ、はい。Microsoft Visual Basic Codename Orcas Express Editionで、これを実行すると、
<WankumaMember>
<ID>76</ID>
<Name>とりこびと</Name>
</WankumaMember>
まんま出力されてきますね。
でもって、こんな書き方もできるっぽい・・・↓
Option Strict On
Option Infer On
Public Class Program
Public Shared Sub Main()
Dim aqua = Program.CreateWankumaXElement(28, "アクア")
Console.WriteLine(aqua)
End Sub
Public Shared Function CreateWankumaXElement(ByVal id As Integer, ByVal name As String) As XElement
Return _
<WankumaMember>
<ID><%= id.ToString %></ID>
<Name><%= name %></Name>
</WankumaMember>
End Function
End Class
別にメソッドを分けなくてもよいのですが、要するに、
<%= name %>
こんなことになっちゃうわけですよ。・・・ASP.NET みたいですね。XML リテラルな部分と Visual Basic コードな部分がまぜこぜになりますです。あと、型推論でXElement型って推測も入ったり。これももちろん以下のように出力されます。↓
<WankumaMember>
<ID>28</ID>
<Name>アクア</Name>
</WankumaMember>
うむ、なんだかすごいことになってきました。ほかにもXML ファイルからロードしたものを操作とか、いろいろできるようですが、ちょっと時間が無いのでここまでです。(こらw