Pages - Menu

2017年1月19日 星期四

VB.NET 使用反射取得List內的結構名稱

延續上篇LinqToCSV+泛型+反射

如果使用foreach能夠取得正確的型別

For Each ss In list
    Dim uTemp As Object = ss
    Dim uType As Type = ss.GetType
    Dim _machineNo As PropertyInfo = uType.GetProperty("machineNo")
    _machineNo.SetValue(uTemp, machineNo)
Next

但如果今天我要在list的外面直接取欄位名稱該怎麼抓?

在GetType後面加上 GetGenericArguments,會取得一個陣列,

裡面有List的類別。

Dim oTemp As Object = list
Dim oType As Type = list.GetType.GetGenericArguments()(0)

沒有留言:

張貼留言