Windws Store App - 在VB.NET中将字符串转换为颜色

时间:2013-07-17 02:32:29

标签: vb.net windows-8 windows-store-apps c#-to-vb.net

对于Windows应用商店,VB.NET中没有可用的FromName方法。如何将字符串转换为颜色?我想通过传递颜色的字符串值来设置对象的fillcolor。

我找到了C#

的解决方法
public static Color FromName(string name)
{
     var property = typeof(Colors).GetRuntimeProperty(name);
     return (Color)property.GetValue(null);
}

我似乎无法将其转换为等效的VB.NET代码。

我还尝试使用上面的代码编写Windows运行时组件,但它说GetRunTimeProperty甚至没有在任何地方定义。

3 个答案:

答案 0 :(得分:2)

Public Function FromName(ColName As String) As SolidColorBrush
        Dim [property] = System.Reflection.RuntimeReflectionExtensions.GetRuntimeProperty(GetType(Windows.UI.Colors), ColName)
        Return New SolidColorBrush(DirectCast([property].GetValue(Nothing), Windows.UI.Color))
End Function

完成了!

答案 1 :(得分:0)

这不起作用吗?

Public Shared Function FromName(name As String) As Color
    Dim [property] = GetType(Colors).GetRuntimeProperty(name)
    Return DirectCast([property].GetValue(Nothing), Color)
End Function

答案 2 :(得分:0)

GetRuntimeProperty是一个扩展方法,不是System.Type的成员。您需要导入系统。反思使用它。有关VB中扩展方法的更多信息,请参阅http://msdn.microsoft.com/en-us/library/bb384936.aspx