2011-05-01 61 views
0

我想創建一個BrushInfo的列表,它具有來自System.Drawing.Brushes的畫筆名稱及其類型的屬性。喜歡的東西:從System.Drawing.Brushes獲取名稱和類型的配對列表

Dim brushList = GetType(Drawing.Brushes) _ 
        .GetProperties.Select(Function(p) New BrushInfo With 
         {.BrushName = p.Name, .BrushValue = GetType(p)}) 

上面的代碼會讓我刷(p.Name)的名稱,但不會讓我刷(即System.Drawing.Brushes.AliceBlue)的類型。我如何獲得筆刷類型?

回答

0

您想要獲取屬性的值,而不是屬性的類型。相反的:

.BrushValue = GetType(p) 

使用:

.BrushValue = CType(p.GetValue(Nothing, Nothing), Brush) 
+0

謝謝,裏克。這是我需要的解決方案。 – blueshift 2011-05-01 18:04:54

0

Brush類型是BrushBrush的名稱僅僅是因爲它是Brushes中該名稱的一個屬性。 Brush本身沒有其他類型或名稱超出Brush