.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」を省略しないようにします)