我试图让我的应用程序(适用于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))
,但我无法在我的实际项目中使用它,因为我不知道我的真实项目中的确切枚举类型。
答案 0 :(得分:5)
对我来说没有意义,但是以下RD字符串适用于我的测试用例:
<Type Name="enumlibportable.enumValues[]" Browse="Required All"/>
答案 1 :(得分:0)
可能你可以尝试这可能对你有帮助
Array aaa = (enumValues) Enum.Parse(typeof(enumValues), fff.GetClass2Value());