.net-native enum.GetValues麻烦

时间:2015-09-08 07:59:18

标签: c# windows-10 uwp .net-native

我试图让我的应用程序(适用于Windows 10)在.NET native下工作。

我遇到了以下问题:Enum.GetValues在运行时失败,缺少元数据。我设法简化了这个问题的测试用例(在现实生活中我的代码看起来不同)。在便携式库中,我有:

public enum enumValues
{        
    A1,     
    B1,        
    C1,
}

public class fff
{
    public static object GetClass2Value()
    {
        return enumValues.B1;
    }
}

在我的通用Windows应用程序中,我调用以下代码:

Array aaa = Enum.GetValues(fff.GetClass2Value().GetType());

我收到以下例外:

  

其他信息:' enumlibportable.enumValues []'缺少元数据。

问题是我不知道要添加到Default.rd.xml的内容。我尝试使用微软工具http://go.microsoft.com/fwlink/?LinkID=392859添加不同的rd字符串(enum subtype,enumValues类,enumValues []等),但没有运气。

更新: 我知道以下代码适用于我的测试用例Enum.GetValues(typeof(enumValue)),但我无法在我的实际项目中使用它,因为我不知道我的真实项目中的确切枚举类型。

2 个答案:

答案 0 :(得分:5)

对我来说没有意义,但是以下RD字符串适用于我的测试用例:

<Type Name="enumlibportable.enumValues[]" Browse="Required All"/>

答案 1 :(得分:0)

可能你可以尝试这可能对你有帮助

Array aaa = (enumValues) Enum.Parse(typeof(enumValues), fff.GetClass2Value());