[VB.NET] 動的にメソッドを追加できるオブジェクト

2013年12月1日

 .net Framework 4 からなのか、ExpandoObject という、動的にメンバーが追加できる型ができたようです。

Dim person As Object = New Dynamic.ExpandoObject

person.ID = 1
person.Name = "Name"

Console.WriteLine(person.ID)
Console.WriteLine(person.Name)
Console.WriteLine("-----------")
Console.WriteLine(TypeName(person))
Console.WriteLine(TypeName(person.ID))
Console.WriteLine(TypeName(person.Name))

 結果

1
Name
-----------
ExpandoObject
Integer
String
続行するには何かキーを押してください . . .

 存在しないメンバーに代入すれば、宣言なしでメンバーができるってのは楽ですね。
 ただし、これを扱うには、Option Strict は Off にしておく必要があるのと、型推論は効かさないようにする必要があります。
 (Dim Dim person = New Dynamic.ExpandoObject、ではなく、Dim person As Object = New Dynamic.ExpandoObject、のように「As Object」を省略しないようにします)






カテゴリー: Program, VB.NET

Follow comments via the RSS Feed | Leave a comment | Trackback URL

コメントを投稿する

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


«   »
 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org