2011-05-01 63 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