从System.Drawing.Brushes获取名称和类型的配对列表

时间:2011-05-01 01:37:34

标签: .net vb.net linq system.drawing

我想创建一个BrushInfo列表,它包含一个刷子名称的属性,其类型来自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)。我如何获得画笔类型?

2 个答案:

答案 0 :(得分:0)

Brush类型为BrushBrush的名称只是因为它是Brushes中该名称的属性。 Brush本身除了Brush之外没有其他类型或名称。

答案 1 :(得分:0)

您想要获取属性的值,而不是属性的类型。而不是:

.BrushValue = GetType(p)

使用:

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