.net-native enum.GetValues麻烦

Acc*_*ied 10 c# .net-native windows-10 uwp

我正在尝试使我的应用程序(适用于Windows 10)在.NET native下运行.

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

public enum enumValues
{        
    A1,     
    B1,        
    C1,
}

public class fff
{
    public static object GetClass2Value()
    {
        return enumValues.B1;
    }
}
Run Code Online (Sandbox Code Playgroud)

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

Array aaa = Enum.GetValues(fff.GetClass2Value().GetType());
Run Code Online (Sandbox Code Playgroud)

我收到以下异常:

附加信息:'enumlibportable.enumValues []'缺少元数据.

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

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

Acc*_*ied 5

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

<Type Name="enumlibportable.enumValues[]" Browse="Required All"/>
Run Code Online (Sandbox Code Playgroud)


Moh*_*ava 0

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

Array aaa = (enumValues) Enum.Parse(typeof(enumValues), fff.GetClass2Value());
Run Code Online (Sandbox Code Playgroud)